예제 #1
0
 private static void RestoreDirectoryName(string obfuscatedDirectoryPath)
 {
     try
     {
         string obfuscatedDirectoryName = Path.GetFileName(obfuscatedDirectoryPath);
         // Get the path where the original directory name is stored
         string storageFileName = $"{obfuscatedDirectoryName}.txt";
         string storageFilePath = Path.Combine(obfuscatedDirectoryPath, storageFileName);
         if (!File.Exists(storageFilePath))
         {
             return;
         }
         string directoryName = File.ReadAllText(storageFilePath);
         string directoryPath = obfuscatedDirectoryPath.Replace(obfuscatedDirectoryName, directoryName);
         directoryPath = FileHandling.GetUniqueDirectoryPath(directoryPath);
         Directory.Move(obfuscatedDirectoryPath, directoryPath);
         DisplayMessage.FileEncryptionResult(obfuscatedDirectoryName, directoryName);
         storageFilePath = Path.Combine(directoryPath, storageFileName);
         FileHandling.DeleteFile(storageFilePath);
     }
     catch (Exception ex) when(ExceptionFilters.FileAccess(ex))
     {
         Logging.LogException(ex.ToString(), Logging.Severity.Error);
         DisplayMessage.FilePathException(obfuscatedDirectoryPath, ex.GetType().Name, "Unable to restore the directory name.");
     }
 }
예제 #2
0
 public static void DecryptionSuccessful(string inputFilePath, string outputFilePath)
 {
     if (!Globals.ObfuscateFileNames)
     {
         DisplayMessage.FileEncryptionResult(inputFilePath, outputFilePath);
     }
     Globals.SuccessfulCount += 1;
 }
예제 #3
0
        private static string BackupDirectory(string directoryPath)
        {
            if (Globals.Overwrite)
            {
                return(null);
            }
            DisplayMessage.FilePathMessage(directoryPath, "Copying directory because you didn't specify -o|--overwrite...");
            string destinationDirectoryPath = FileHandling.GetUniqueDirectoryPath($"{directoryPath} - Copy");

            FileHandling.CopyDirectory(directoryPath, destinationDirectoryPath, copySubdirectories: true);
            if (!Globals.ObfuscateFileNames)
            {
                DisplayMessage.FileEncryptionResult(directoryPath, destinationDirectoryPath);
            }
            return(destinationDirectoryPath);
        }
예제 #4
0
 public static void RenameFile(string inputFilePath, string outputFilePath, int fileNameLength)
 {
     try
     {
         if (fileNameLength == 0)
         {
             return;
         }
         Globals.ObfuscateFileNames = true;
         string originalFileName   = ReadFileName(outputFilePath, fileNameLength);
         string obfuscatedFileName = Path.GetFileName(outputFilePath);
         string restoredFilePath   = outputFilePath.Replace(obfuscatedFileName, originalFileName);
         restoredFilePath = FileHandling.GetUniqueFilePath(restoredFilePath);
         File.Move(outputFilePath, restoredFilePath);
         DisplayMessage.FileEncryptionResult(inputFilePath, restoredFilePath);
     }
     catch (Exception ex) when(ExceptionFilters.FileAccess(ex))
     {
         DisplayMessage.FilePathException(outputFilePath, ex.GetType().Name, "Unable to restore the original file name.");
     }
 }
예제 #5
0
 public static void EncryptionSuccessful(string inputFilePath, string outputFilePath)
 {
     DisplayMessage.FileEncryptionResult(inputFilePath, outputFilePath);
     Globals.SuccessfulCount += 1;
 }