Exemple #1
0
        /// <summary>
        /// Decompress an encrypted FAES File.
        /// </summary>
        /// <param name="encryptedFile">Encrypted FAES File</param>
        /// <param name="overridePath">Override the read path</param>
        /// <returns>Path of the encrypted, Decompressed file</returns>
        public string DecompressFAESFile(FAES_File encryptedFile, string overridePath = "")
        {
            string fileCompressionMode = FileAES_Utilities.GetCompressionMode(encryptedFile.GetPath());

            Logging.Log(String.Format("Compression Mode: {0}", fileCompressionMode), Severity.DEBUG);

            switch (fileCompressionMode)
            {
            case "LZMA":
                LZMA lzma = new LZMA();
                return(lzma.DecompressFAESFile(encryptedFile, overridePath));

            case "TAR":
                TAR tar = new TAR();
                return(tar.DecompressFAESFile(encryptedFile, overridePath));

            case "ZIP":
                ZIP zip = new ZIP(_compressionLevel);
                return(zip.DecompressFAESFile(encryptedFile, overridePath));

            case "LEGACY":
            case "LEGACYZIP":
            case "LGYZIP":
                LegacyZIP legacyZip = new LegacyZIP();
                return(legacyZip.DecompressFAESFile(encryptedFile, overridePath));

            default:
                throw new NotSupportedException("FAES File was compressed using an unsupported file format.");
            }
        }