internal static void Encrypt_File_Contents(string InputFilePath) { byte[] encrypted; using (Aes AES = Aes.Create()) { AES.KeySize = AES256KeySize; AES.BlockSize = 128; AES.Padding = PaddingMode.PKCS7; var key = new Rfc2898DeriveBytes(CONVERT_To_UTF8_Bytes(GET_Password()), CONVERT_To_UTF8_Bytes(SALT), 50000); AES.Key = key.GetBytes(AES.KeySize / 8); AES.IV = key.GetBytes(AES.BlockSize / 8); ICryptoTransform encryptor = AES.CreateEncryptor(AES.Key, AES.IV); using (MemoryStream msEncrypt = new MemoryStream()) { using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) { swEncrypt.Write(File.ReadAllText(InputFilePath)); } encrypted = msEncrypt.ToArray(); } } File_Operation.Turnicate_File(InputFilePath, encrypted); } }
internal static string Decrypt_File_Contents(string InputEncryptedFilePath, bool ReWriteDecryptedFile = true) { string plaintext = null; CryptoStream csDecrypt = null; try { using (Aes AES = Aes.Create()) { AES.KeySize = AES256KeySize; AES.BlockSize = 128; AES.Padding = PaddingMode.PKCS7; var key = new Rfc2898DeriveBytes(CONVERT_To_UTF8_Bytes(GET_Password()), CONVERT_To_UTF8_Bytes(SALT), 50000); AES.Key = key.GetBytes(AES.KeySize / 8); AES.IV = key.GetBytes(AES.BlockSize / 8); ICryptoTransform decryptor = AES.CreateDecryptor(AES.Key, AES.IV); using (MemoryStream msDecrypt = new MemoryStream(File.ReadAllBytes(InputEncryptedFilePath))) { using (csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) { using (StreamReader srDecrypt = new StreamReader(csDecrypt)) { try { plaintext = srDecrypt.ReadToEnd(); } catch (Exception e) { File_Operation.DELETE_File(InputEncryptedFilePath); File_Operation.WRITE_Default_Critical_Files(); } } csDecrypt = null; } } } if (ReWriteDecryptedFile) { File_Operation.Turnicate_File(InputEncryptedFilePath); } } finally { if (csDecrypt != null) { csDecrypt.Dispose(); } } return(plaintext); }
internal static void WRITE_Default_Configs_Files_and_Reg() { File_Operation.Turnicate_File(GET_AppConfigFile_Path); File_Operation.Turnicate_File(GET_EventLogID_PlaceHolder_Path); File_Operation.Turnicate_File(GET_SearchTermsFile_Path); File_Operation.Turnicate_File(GET_WhiteList_SearchTermsFile_Path); File_Operation.Turnicate_File(GET_SearchTermsFile_PLUGIN_Path); File_Operation.CREATE_NEW_Files_And_Dirs(Config_File_Location, AppConfigFile_FileName, File_Operation.GET_Default_ConsoleAppConfig_File_Contents, true); File_Operation.CREATE_NEW_Files_And_Dirs(Config_File_Location, EventLogID_PlaceHolde_FileName, File_Operation.GET_Default_Eventlog_with_PlaceKeeper_File_Contents, true); File_Operation.CREATE_NEW_Files_And_Dirs(Search_File_Location, SearchTermsFileName_FileName, File_Operation.GET_Default_Logs_Search_File_Contents, true); File_Operation.CREATE_NEW_Files_And_Dirs(Search_File_Location, Search_WhiteList_FileName, "", true); File_Operation.CREATE_NEW_Files_And_Dirs(Plugin_Search_Location, SearchTermsFileName_FileName, File_Operation.GET_Default_Powershell_Plugins_File_Contents, true); Reg_Operation.WRITE_Default_SWELF_Reg_Keys(); Error_Operation.Log_Error("WRITE_Default_Configs()", "SWELF created new default config files for all settings", "", Error_Operation.LogSeverity.FailureAudit); }