From ad421936dc4729789bcac89bbe380fc24ca0f5ae Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Fri, 12 Jul 2013 23:23:56 +0800 Subject: [PATCH 01/15] Modify test base to follow my folder structure --- SharpCompress.Test/TestBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharpCompress.Test/TestBase.cs b/SharpCompress.Test/TestBase.cs index 720ed4d8..75e396c8 100644 --- a/SharpCompress.Test/TestBase.cs +++ b/SharpCompress.Test/TestBase.cs @@ -9,7 +9,7 @@ namespace SharpCompress.Test { public class TestBase { - protected const string TEST_BASE_PATH = @"C:\Git\sharpcompress"; + protected const string TEST_BASE_PATH = @"D:\Codes\sharpcompress"; protected static readonly string TEST_ARCHIVES_PATH = Path.Combine(TEST_BASE_PATH, "TestArchives", "Archives"); protected static readonly string ORIGINAL_FILES_PATH = Path.Combine(TEST_BASE_PATH, "TestArchives", "Original"); protected static readonly string MISC_TEST_FILES_PATH = Path.Combine(TEST_BASE_PATH, "TestArchives", "MiscTest"); From af8e4f9da8386a45d1604f04e665c7748cf7903e Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Fri, 12 Jul 2013 23:26:30 +0800 Subject: [PATCH 02/15] Add test case for encrypted Rar --- SharpCompress.Test/Rar/RarReaderTests.cs | 6 ++++++ TestArchives/Archives/Rar.encrypted.rar | Bin 0 -> 60172 bytes 2 files changed, 6 insertions(+) create mode 100644 TestArchives/Archives/Rar.encrypted.rar diff --git a/SharpCompress.Test/Rar/RarReaderTests.cs b/SharpCompress.Test/Rar/RarReaderTests.cs index a0fa2b72..a8acf003 100644 --- a/SharpCompress.Test/Rar/RarReaderTests.cs +++ b/SharpCompress.Test/Rar/RarReaderTests.cs @@ -79,6 +79,12 @@ namespace SharpCompress.Test Read("Rar.rar", CompressionType.Rar); } + [TestMethod] + public void Rar_Encrypted_Reader() + { + Read("Rar.Encrypted.rar", CompressionType.Rar); + } + [TestMethod] public void Rar_Entry_Stream() { diff --git a/TestArchives/Archives/Rar.encrypted.rar b/TestArchives/Archives/Rar.encrypted.rar new file mode 100644 index 0000000000000000000000000000000000000000..a30d1bd3c8c42a1af1bdaea5b1509a49bf7c6b20 GIT binary patch literal 60172 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 literal 0 HcmV?d00001 From 22d181e63770c214a300b776a678a4100c57614e Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sat, 13 Jul 2013 10:45:25 +0800 Subject: [PATCH 03/15] recognize encrypted flag in archive header --- .../Rar/Unit/RarHeaderFactoryTest.cs | 65 +++++++++++++++++++ SharpCompress.Test/SharpCompress.Test.csproj | 1 + .../Common/Rar/Headers/ArchiveHeader.cs | 5 ++ .../Common/Rar/Headers/RarHeaderFactory.cs | 12 +++- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs diff --git a/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs b/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs new file mode 100644 index 00000000..fa3902be --- /dev/null +++ b/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs @@ -0,0 +1,65 @@ +using System; +using System.IO; +using System.Net.Security; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using SharpCompress.Common; +using SharpCompress.Common.Rar.Headers; +using SharpCompress.IO; + +namespace SharpCompress.Test.Rar.Unit +{ + /// + /// Summary description for RarFactoryReaderTest + /// + [TestClass] + public class RarHeaderFactoryTest : TestBase + { + private RarHeaderFactory rarHeaderFactory; + + [TestInitialize] + public void Initialize() + { + ResetScratch(); + rarHeaderFactory = new RarHeaderFactory(StreamingMode.Seekable, Options.KeepStreamsOpen); + } + + + [TestMethod] + public void ReadHeaders_RecognizeEncryptedFlag() + { + + ReadEncryptedFlag("Rar.Encrypted.rar", true); + + + + } + + private void ReadEncryptedFlag(string testArchive, bool isEncrypted) + { + using (var stream = GetReaderStream(testArchive)) + foreach (var header in rarHeaderFactory.ReadHeaders(stream)) + { + if (header.HeaderType == HeaderType.ArchiveHeader) + { + Assert.AreEqual(isEncrypted, rarHeaderFactory.IsEncrypted); + break; + } + } + } + + [TestMethod] + public void ReadHeaders_RecognizeNoEncryptedFlag() + { + ReadEncryptedFlag("Rar.rar", false); + } + + private FileStream GetReaderStream(string testArchive) + { + return new FileStream(Path.Combine(TEST_ARCHIVES_PATH, testArchive), + FileMode.Open); + } + } +} diff --git a/SharpCompress.Test/SharpCompress.Test.csproj b/SharpCompress.Test/SharpCompress.Test.csproj index 38e847ba..0c1055fc 100644 --- a/SharpCompress.Test/SharpCompress.Test.csproj +++ b/SharpCompress.Test/SharpCompress.Test.csproj @@ -56,6 +56,7 @@ + diff --git a/SharpCompress/Common/Rar/Headers/ArchiveHeader.cs b/SharpCompress/Common/Rar/Headers/ArchiveHeader.cs index 57ee6a8b..7c79f072 100644 --- a/SharpCompress/Common/Rar/Headers/ArchiveHeader.cs +++ b/SharpCompress/Common/Rar/Headers/ArchiveHeader.cs @@ -27,5 +27,10 @@ namespace SharpCompress.Common.Rar.Headers internal int PosAv { get; private set; } internal byte EncryptionVersion { get; private set; } + + public bool HasPassword + { + get { return ArchiveHeaderFlags.HasFlag(ArchiveFlags.PASSWORD); } + } } } \ No newline at end of file diff --git a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs index 19f731e9..3955b3f6 100644 --- a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs +++ b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs @@ -19,12 +19,15 @@ namespace SharpCompress.Common.Rar.Headers internal StreamingMode StreamingMode { get; private set; } + internal bool IsEncrypted { get; set; } + internal IEnumerable ReadHeaders(Stream stream) { if (Options.HasFlag(Options.LookForHeader)) { stream = CheckSFX(stream); } + RarHeader header; while ((header = ReadNextHeader(stream)) != null) { @@ -109,7 +112,12 @@ namespace SharpCompress.Common.Rar.Headers private RarHeader ReadNextHeader(Stream stream) { + MarkingBinaryReader reader = new MarkingBinaryReader(stream); + if (IsEncrypted) + { + + } RarHeader header = RarHeader.Create(reader); if (header == null) { @@ -119,7 +127,9 @@ namespace SharpCompress.Common.Rar.Headers { case HeaderType.ArchiveHeader: { - return header.PromoteHeader(reader); + var ah = header.PromoteHeader(reader); + IsEncrypted = ah.HasPassword; + return ah; } case HeaderType.MarkHeader: { From c0b630c7956a0a94b34dfd920c858ab280ea16e4 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sat, 13 Jul 2013 20:12:35 +0800 Subject: [PATCH 04/15] Decrypt rar - first attempt, test still fails --- .../Common/Rar/Headers/RarHeaderFactory.cs | 9 +- SharpCompress/IO/MarkingBinaryReader.cs | 198 ++++++++++++++++-- 2 files changed, 183 insertions(+), 24 deletions(-) diff --git a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs index 3955b3f6..7b05a2ef 100644 --- a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs +++ b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs @@ -110,12 +110,18 @@ namespace SharpCompress.Common.Rar.Headers return rewindableStream; } + private RarHeader ReadNextHeader(Stream stream) { - MarkingBinaryReader reader = new MarkingBinaryReader(stream); + if (IsEncrypted) { + reader.Salt = null; + reader.SkipQueue(); + Console.WriteLine(reader.BaseStream.Position); + byte[] salt = reader.ReadBytes(8); + reader.Salt = salt; } RarHeader header = RarHeader.Create(reader); @@ -161,6 +167,7 @@ namespace SharpCompress.Common.Rar.Headers } case HeaderType.FileHeader: { + Console.WriteLine(reader.BaseStream.Position); FileHeader fh = header.PromoteHeader(reader); switch (StreamingMode) { diff --git a/SharpCompress/IO/MarkingBinaryReader.cs b/SharpCompress/IO/MarkingBinaryReader.cs index f0154641..2d2f6a82 100644 --- a/SharpCompress/IO/MarkingBinaryReader.cs +++ b/SharpCompress/IO/MarkingBinaryReader.cs @@ -1,10 +1,21 @@ using System; +using System.Collections.Generic; using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; namespace SharpCompress.IO { internal class MarkingBinaryReader : BinaryReader { + private byte[] _salt; + private string _password = "test"; + private byte[] _aesInitializationVector = new byte[16]; + private byte[] _aesKey = new byte[16]; + private Rijndael _rijndael; + private Queue _data = new Queue(); + public MarkingBinaryReader(Stream stream) : base(stream) { @@ -12,6 +23,82 @@ namespace SharpCompress.IO public long CurrentReadByteCount { get; private set; } + internal byte[] Salt + { + get { return _salt; } + set + { + _salt = value; + if (value != null) InitializeAes(); + + } + } + + private void InitializeAes() + { + _rijndael = new RijndaelManaged() {Padding = PaddingMode.None}; + int rawLength = 2 * _password.Length; + byte[] rawPassword = new byte[rawLength + 8]; + byte[] passwordBytes = Encoding.UTF8.GetBytes(_password); + for (int i = 0; i < _password.Length; i++) + { + rawPassword[i * 2] = passwordBytes[i]; + rawPassword[i * 2 + 1] = 0; + } + for (int i = 0; i < _salt.Length; i++) + { + rawPassword[i + rawLength] = _salt[i]; + } + + // rawLength += 8; + + // SHA-1 + + var sha = new SHA1Managed(); + + const int noOfRounds = (1 << 18); + const int xh = noOfRounds / 16; + //List content = new ArrayList(); + IList bytes = new List(); + //byte[] input = null; + byte[] digest = null; + // byte[] pswNum = new byte[3]; + //long ax = System.currentTimeMillis(); + for (int i = 0; i < noOfRounds; i++) + { + bytes.AddRange(rawPassword); + + bytes.AddRange(new[] { (byte)i, (byte)(i >> 8), (byte)(i >> 16) }); + if (i % xh == 0) + { + + //long bx = System.currentTimeMillis(); + + + //long cx = System.currentTimeMillis(); + //System.out.println(cx-bx); + digest = sha.ComputeHash(bytes.ToArray()); + //AESInit[i / xh] = digest[digest.length-1]; + _aesInitializationVector[i / xh] = digest[19]; + } + } + + digest = sha.ComputeHash(bytes.ToArray()); + //System.out.println(System.currentTimeMillis()-ax); + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + _aesKey[i * 4 + j] = (byte) + (((digest[i * 4] * 0x1000000) & 0xff000000 | + ((digest[i * 4 + 1] * 0x10000) & 0xff0000) | + ((digest[i * 4 + 2] * 0x100) & 0xff00) | + digest[i * 4 + 3] & 0xff) >> (j * 8)); + + _rijndael.IV = new byte[16]; + _rijndael.Key = _aesKey; + _rijndael.BlockSize = 16*8; + } + + public void Mark() { CurrentReadByteCount = 0; @@ -42,14 +129,66 @@ namespace SharpCompress.IO public override byte ReadByte() { - CurrentReadByteCount++; - return base.ReadByte(); + return ReadBytes(1).Single(); } public override byte[] ReadBytes(int count) { CurrentReadByteCount += count; - return base.ReadBytes(count); + return UseEncryption ? + ReadAndDecryptBytes(count) + : base.ReadBytes(count); + } + + protected bool UseEncryption + { + get { return Salt != null; } + } + + private byte[] ReadAndDecryptBytes(int count) + { + int queueSize = _data.Count; + int sizeToRead = count - queueSize; + + if (sizeToRead > 0) { + int alignedSize = sizeToRead + ((~sizeToRead + 1) & 0xf); + for(int i=0;i Date: Sat, 13 Jul 2013 21:49:04 +0800 Subject: [PATCH 05/15] Remove comments from reference code --- SharpCompress/IO/MarkingBinaryReader.cs | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/SharpCompress/IO/MarkingBinaryReader.cs b/SharpCompress/IO/MarkingBinaryReader.cs index 2d2f6a82..e87ea1a2 100644 --- a/SharpCompress/IO/MarkingBinaryReader.cs +++ b/SharpCompress/IO/MarkingBinaryReader.cs @@ -50,41 +50,25 @@ namespace SharpCompress.IO rawPassword[i + rawLength] = _salt[i]; } - // rawLength += 8; - - // SHA-1 - var sha = new SHA1Managed(); const int noOfRounds = (1 << 18); - const int xh = noOfRounds / 16; - //List content = new ArrayList(); IList bytes = new List(); - //byte[] input = null; - byte[] digest = null; - // byte[] pswNum = new byte[3]; - //long ax = System.currentTimeMillis(); + byte[] digest; for (int i = 0; i < noOfRounds; i++) { bytes.AddRange(rawPassword); bytes.AddRange(new[] { (byte)i, (byte)(i >> 8), (byte)(i >> 16) }); - if (i % xh == 0) + if (i % (noOfRounds / 16) == 0) { - - //long bx = System.currentTimeMillis(); - - - //long cx = System.currentTimeMillis(); - //System.out.println(cx-bx); digest = sha.ComputeHash(bytes.ToArray()); - //AESInit[i / xh] = digest[digest.length-1]; - _aesInitializationVector[i / xh] = digest[19]; + _aesInitializationVector[i / (noOfRounds / 16)] = digest[19]; } } digest = sha.ComputeHash(bytes.ToArray()); - //System.out.println(System.currentTimeMillis()-ax); + for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) _aesKey[i * 4 + j] = (byte) From e78ead7bc3b93c37e971dec765bcdfccd4aef542 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sat, 13 Jul 2013 21:49:35 +0800 Subject: [PATCH 06/15] Temporarily do not treat warning as error --- SharpCompress/SharpCompress.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharpCompress/SharpCompress.csproj b/SharpCompress/SharpCompress.csproj index f3c4d584..f7d1cf1d 100644 --- a/SharpCompress/SharpCompress.csproj +++ b/SharpCompress/SharpCompress.csproj @@ -54,7 +54,7 @@ prompt 4 true - true + false AllRules.ruleset 1591 ..\bin\SharpCompress.XML From e1511bf3badaa9473e4656c5265dd5b73c822bf0 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sun, 14 Jul 2013 19:04:22 +0800 Subject: [PATCH 07/15] Decrypt stream (in addition to header) --- .../Common/Rar/Headers/RarHeaderFactory.cs | 3 +- SharpCompress/Common/Rar/RarCryptoWrapper.cs | 186 ++++++++++++++++++ SharpCompress/SharpCompress.csproj | 1 + 3 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 SharpCompress/Common/Rar/RarCryptoWrapper.cs diff --git a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs index 7b05a2ef..cd43590e 100644 --- a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs +++ b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using SharpCompress.Compressor.Rar; using SharpCompress.IO; namespace SharpCompress.Common.Rar.Headers @@ -181,7 +182,7 @@ namespace SharpCompress.Common.Rar.Headers { ReadOnlySubStream ms = new ReadOnlySubStream(reader.BaseStream, fh.CompressedSize); - fh.PackedStream = ms; + fh.PackedStream = new RarCryptoWrapper(ms) { Salt = fh.Salt}; } break; default: diff --git a/SharpCompress/Common/Rar/RarCryptoWrapper.cs b/SharpCompress/Common/Rar/RarCryptoWrapper.cs new file mode 100644 index 00000000..f7a858e4 --- /dev/null +++ b/SharpCompress/Common/Rar/RarCryptoWrapper.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; + +namespace SharpCompress.Common.Rar +{ + internal class RarCryptoWrapper : Stream + { + private readonly Stream _actualStream; + private byte[] _salt; + private Rijndael _rijndael; + private string _password = "test"; + private byte[] _aesInitializationVector = new byte[CryptoBlockSize]; + private byte[] _aesKey = new byte[CryptoBlockSize]; + private Queue _data = new Queue(); + private const int CryptoBlockSize = 16; + + public RarCryptoWrapper(Stream actualStream) + { + _actualStream = actualStream; + } + + internal byte[] Salt + { + get { return _salt; } + set + { + _salt = value; + if (value != null) InitializeAes(); + + } + } + + private void InitializeAes() + { + _rijndael = new RijndaelManaged() { Padding = PaddingMode.None }; + int rawLength = 2 * _password.Length; + byte[] rawPassword = new byte[rawLength + 8]; + byte[] passwordBytes = Encoding.UTF8.GetBytes(_password); + for (int i = 0; i < _password.Length; i++) + { + rawPassword[i * 2] = passwordBytes[i]; + rawPassword[i * 2 + 1] = 0; + } + for (int i = 0; i < _salt.Length; i++) + { + rawPassword[i + rawLength] = _salt[i]; + } + + var sha = new SHA1Managed(); + + const int noOfRounds = (1 << 18); + IList bytes = new List(); + byte[] digest; + for (int i = 0; i < noOfRounds; i++) + { + bytes.AddRange(rawPassword); + + bytes.AddRange(new[] { (byte)i, (byte)(i >> 8), (byte)(i >> CryptoBlockSize) }); + if (i % (noOfRounds / CryptoBlockSize) == 0) + { + digest = sha.ComputeHash(bytes.ToArray()); + _aesInitializationVector[i / (noOfRounds / CryptoBlockSize)] = digest[19]; + } + } + + digest = sha.ComputeHash(bytes.ToArray()); + + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + _aesKey[i * 4 + j] = (byte) + (((digest[i * 4] * 0x1000000) & 0xff000000 | + ((digest[i * 4 + 1] * 0x10000) & 0xff0000) | + ((digest[i * 4 + 2] * 0x100) & 0xff00) | + digest[i * 4 + 3] & 0xff) >> (j * 8)); + + _rijndael.IV = new byte[CryptoBlockSize]; + _rijndael.Key = _aesKey; + _rijndael.BlockSize = CryptoBlockSize * 8; + } + + public override void Flush() + { + throw new NotImplementedException(); + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + + public override int Read(byte[] buffer, int offset, int count) + { + if (Salt == null) return _actualStream.Read(buffer, offset, count); + return ReadAndDecrypt(buffer, offset, count); + } + + public int ReadAndDecrypt(byte[] buffer, int offset, int count) + { + int queueSize = _data.Count; + int sizeToRead = count - queueSize; + + if (sizeToRead > 0) + { + int alignedSize = sizeToRead + ((~sizeToRead + 1) & 0xf); + for (int i = 0; i < alignedSize/16; i++) + { + //long ax = System.currentTimeMillis(); + byte[] cipherText = new byte[CryptoBlockSize]; + _actualStream.Read(cipherText, 0, CryptoBlockSize); + + byte[] plainText = new byte[CryptoBlockSize]; + var decryptor = _rijndael.CreateDecryptor(); + using (MemoryStream msDecrypt = new MemoryStream(cipherText)) + { + using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) + { + csDecrypt.ReadFully(plainText); + } + } + + + for (int j = 0; j < plainText.Length; j++) + { + _data.Enqueue((byte) (plainText[j] ^ _aesInitializationVector[j%16])); //32:114, 33:101 + + } + + for (int j = 0; j < _aesInitializationVector.Length; j++) + { + _aesInitializationVector[j] = cipherText[j]; + } + } + + for (int i = 0; i < count; i++) + { + buffer[i] = _data.Dequeue(); + Console.Write(buffer[i].ToString("x2") + " "); + } + } + return count; + + } + + public override void Write(byte[] buffer, int offset, int count) + { + throw new NotImplementedException(); + } + + public override bool CanRead + { + get { throw new NotImplementedException(); } + } + + public override bool CanSeek + { + get { throw new NotImplementedException(); } + } + + public override bool CanWrite + { + get { throw new NotImplementedException(); } + } + + public override long Length + { + get { throw new NotImplementedException(); } + } + + public override long Position { get; set; } + + protected override void Dispose(bool disposing) + { + _rijndael.Dispose(); + base.Dispose(disposing); + } + } +} \ No newline at end of file diff --git a/SharpCompress/SharpCompress.csproj b/SharpCompress/SharpCompress.csproj index f7d1cf1d..4a24be2e 100644 --- a/SharpCompress/SharpCompress.csproj +++ b/SharpCompress/SharpCompress.csproj @@ -127,6 +127,7 @@ + From 13de04ddd2bb6af7c61e56d150b1df36bf35542e Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sun, 14 Jul 2013 19:08:20 +0800 Subject: [PATCH 08/15] Fix bug when no rijndael is used --- SharpCompress/Common/Rar/RarCryptoWrapper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharpCompress/Common/Rar/RarCryptoWrapper.cs b/SharpCompress/Common/Rar/RarCryptoWrapper.cs index f7a858e4..28cf79ca 100644 --- a/SharpCompress/Common/Rar/RarCryptoWrapper.cs +++ b/SharpCompress/Common/Rar/RarCryptoWrapper.cs @@ -179,7 +179,7 @@ namespace SharpCompress.Common.Rar protected override void Dispose(bool disposing) { - _rijndael.Dispose(); + if(_rijndael!= null) _rijndael.Dispose(); base.Dispose(disposing); } } From 78cecda03a8a6789738f51cb4e30ffcef6e3bc99 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sun, 14 Jul 2013 19:08:54 +0800 Subject: [PATCH 09/15] Update to reflect folder structure --- SharpCompress/SharpCompress.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharpCompress/SharpCompress.csproj b/SharpCompress/SharpCompress.csproj index 4a24be2e..1e763c56 100644 --- a/SharpCompress/SharpCompress.csproj +++ b/SharpCompress/SharpCompress.csproj @@ -127,7 +127,7 @@ - + From 34190f65765778be7a380379134eb92f502e6e20 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sun, 14 Jul 2013 19:09:33 +0800 Subject: [PATCH 10/15] Code tidyness --- SharpCompress/Common/Rar/Headers/RarHeader.cs | 5 +- SharpCompress/IO/MarkingBinaryReader.cs | 69 ++++++++++--------- SharpCompress/IO/NonDisposingStream.cs | 5 +- 3 files changed, 41 insertions(+), 38 deletions(-) diff --git a/SharpCompress/Common/Rar/Headers/RarHeader.cs b/SharpCompress/Common/Rar/Headers/RarHeader.cs index 260aef3f..ae795748 100644 --- a/SharpCompress/Common/Rar/Headers/RarHeader.cs +++ b/SharpCompress/Common/Rar/Headers/RarHeader.cs @@ -35,11 +35,10 @@ namespace SharpCompress.Common.Rar.Headers return null; } } - protected virtual void ReadFromReader(MarkingBinaryReader reader) { HeadCRC = reader.ReadInt16(); - HeaderType = (HeaderType) (int) (reader.ReadByte() & 0xff); + HeaderType = (HeaderType)(int)(reader.ReadByte() & 0xff); Flags = reader.ReadInt16(); HeaderSize = reader.ReadInt16(); if (FlagUtility.HasFlag(Flags, LONG_BLOCK)) @@ -58,7 +57,7 @@ namespace SharpCompress.Common.Rar.Headers header.ReadFromReader(reader); header.ReadBytes += reader.CurrentReadByteCount; - int headerSizeDiff = header.HeaderSize - (int) header.ReadBytes; + int headerSizeDiff = header.HeaderSize - (int)header.ReadBytes; if (headerSizeDiff > 0) { diff --git a/SharpCompress/IO/MarkingBinaryReader.cs b/SharpCompress/IO/MarkingBinaryReader.cs index e87ea1a2..9da28bb1 100644 --- a/SharpCompress/IO/MarkingBinaryReader.cs +++ b/SharpCompress/IO/MarkingBinaryReader.cs @@ -36,7 +36,7 @@ namespace SharpCompress.IO private void InitializeAes() { - _rijndael = new RijndaelManaged() {Padding = PaddingMode.None}; + _rijndael = new RijndaelManaged() { Padding = PaddingMode.None }; int rawLength = 2 * _password.Length; byte[] rawPassword = new byte[rawLength + 8]; byte[] passwordBytes = Encoding.UTF8.GetBytes(_password); @@ -72,14 +72,14 @@ namespace SharpCompress.IO for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) _aesKey[i * 4 + j] = (byte) - (((digest[i * 4] * 0x1000000) & 0xff000000 | + (((digest[i * 4] * 0x1000000) & 0xff000000 | ((digest[i * 4 + 1] * 0x10000) & 0xff0000) | - ((digest[i * 4 + 2] * 0x100) & 0xff00) | + ((digest[i * 4 + 2] * 0x100) & 0xff00) | digest[i * 4 + 3] & 0xff) >> (j * 8)); _rijndael.IV = new byte[16]; _rijndael.Key = _aesKey; - _rijndael.BlockSize = 16*8; + _rijndael.BlockSize = 16 * 8; } @@ -132,46 +132,53 @@ namespace SharpCompress.IO private byte[] ReadAndDecryptBytes(int count) { int queueSize = _data.Count; - int sizeToRead = count - queueSize; + int sizeToRead = count - queueSize; - if (sizeToRead > 0) { - int alignedSize = sizeToRead + ((~sizeToRead + 1) & 0xf); - for(int i=0;i 0) + { + int alignedSize = sizeToRead + ((~sizeToRead + 1) & 0xf); + for (int i = 0; i < alignedSize / 16; i++) { - using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) + //long ax = System.currentTimeMillis(); + byte[] cipherText = base.ReadBytes(16); + + byte[] plainText = new byte[16]; + var decryptor = _rijndael.CreateDecryptor(); + using (MemoryStream msDecrypt = new MemoryStream(cipherText)) { - - csDecrypt.ReadFully(plainText); + using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) + { + csDecrypt.ReadFully(plainText); + + } } - } - - for(int j=0;j Date: Sun, 14 Jul 2013 23:20:43 +0800 Subject: [PATCH 11/15] Fix bug when ignoring offset --- SharpCompress/Common/Rar/RarCryptoWrapper.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SharpCompress/Common/Rar/RarCryptoWrapper.cs b/SharpCompress/Common/Rar/RarCryptoWrapper.cs index 28cf79ca..91a93178 100644 --- a/SharpCompress/Common/Rar/RarCryptoWrapper.cs +++ b/SharpCompress/Common/Rar/RarCryptoWrapper.cs @@ -142,9 +142,10 @@ namespace SharpCompress.Common.Rar for (int i = 0; i < count; i++) { - buffer[i] = _data.Dequeue(); + buffer[offset+i] = _data.Dequeue(); Console.Write(buffer[i].ToString("x2") + " "); - } + } + Console.WriteLine(); } return count; From d15c8785acbd8a827116a0287b30c28d0961373a Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Sun, 14 Jul 2013 23:22:08 +0800 Subject: [PATCH 12/15] Use more meaningful error message --- SharpCompress.Test/TestBase.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SharpCompress.Test/TestBase.cs b/SharpCompress.Test/TestBase.cs index 75e396c8..7726dd59 100644 --- a/SharpCompress.Test/TestBase.cs +++ b/SharpCompress.Test/TestBase.cs @@ -122,14 +122,14 @@ namespace SharpCompress.Test using (var file2Stream = File.OpenRead(file2)) { Assert.AreEqual(file1Stream.Length, file2Stream.Length); - int byte1 = 0; int byte2 = 0; - while (byte1 != -1) + for (int counter = 0; byte1 != -1; counter++ ) { byte1 = file1Stream.ReadByte(); byte2 = file2Stream.ReadByte(); - Assert.AreEqual(byte1, byte2); + if (byte1 != byte2) Assert.AreEqual(byte1, byte2, string.Format("Byte {0} differ between {1} and {2}", + counter, file1, file2)); } } } From 37c4665630fe8f9598e759eec86671885776f8b8 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Mon, 15 Jul 2013 00:35:35 +0800 Subject: [PATCH 13/15] Make password a parameter --- SharpCompress.Test/Rar/RarReaderTests.cs | 21 ++++++++++++++++++- .../Common/Rar/Headers/RarHeaderFactory.cs | 10 ++++----- SharpCompress/Common/Rar/RarCryptoWrapper.cs | 7 +++---- SharpCompress/Common/Rar/RarVolume.cs | 11 ++++++++-- SharpCompress/IO/MarkingBinaryReader.cs | 8 +++---- SharpCompress/Reader/Rar/RarReader.cs | 15 +++++++++---- SharpCompress/Reader/Rar/RarReaderVolume.cs | 6 ++++-- .../Reader/Rar/SingleVolumeRarReader.cs | 4 +++- 8 files changed, 58 insertions(+), 24 deletions(-) diff --git a/SharpCompress.Test/Rar/RarReaderTests.cs b/SharpCompress.Test/Rar/RarReaderTests.cs index a8acf003..8d8db757 100644 --- a/SharpCompress.Test/Rar/RarReaderTests.cs +++ b/SharpCompress.Test/Rar/RarReaderTests.cs @@ -82,7 +82,26 @@ namespace SharpCompress.Test [TestMethod] public void Rar_Encrypted_Reader() { - Read("Rar.Encrypted.rar", CompressionType.Rar); + ReadRar("Rar.encrypted.rar", "test"); + + } + + private void ReadRar(string testArchive, string password) + { + ResetScratch(); + using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, testArchive))) + using (var reader = RarReader.Open(stream, password)) + { + while (reader.MoveToNextEntry()) + { + if (!reader.Entry.IsDirectory) + { + Assert.AreEqual(reader.Entry.CompressionType, CompressionType.Rar); + reader.WriteEntryToDirectory(SCRATCH_FILES_PATH, ExtractOptions.ExtractFullPath | ExtractOptions.Overwrite); + } + } + } + VerifyFiles(); } [TestMethod] diff --git a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs index cd43590e..aecc1257 100644 --- a/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs +++ b/SharpCompress/Common/Rar/Headers/RarHeaderFactory.cs @@ -10,13 +10,15 @@ namespace SharpCompress.Common.Rar.Headers { private int MAX_SFX_SIZE = 0x80000 - 16; //archive.cpp line 136 - internal RarHeaderFactory(StreamingMode mode, Options options) + internal RarHeaderFactory(StreamingMode mode, Options options, string password = null) { StreamingMode = mode; Options = options; + Password = password; } private Options Options { get; set; } + public string Password { get; set; } internal StreamingMode StreamingMode { get; private set; } @@ -114,13 +116,12 @@ namespace SharpCompress.Common.Rar.Headers private RarHeader ReadNextHeader(Stream stream) { - MarkingBinaryReader reader = new MarkingBinaryReader(stream); + MarkingBinaryReader reader = new MarkingBinaryReader(stream, Password); if (IsEncrypted) { reader.Salt = null; reader.SkipQueue(); - Console.WriteLine(reader.BaseStream.Position); byte[] salt = reader.ReadBytes(8); reader.Salt = salt; @@ -168,7 +169,6 @@ namespace SharpCompress.Common.Rar.Headers } case HeaderType.FileHeader: { - Console.WriteLine(reader.BaseStream.Position); FileHeader fh = header.PromoteHeader(reader); switch (StreamingMode) { @@ -182,7 +182,7 @@ namespace SharpCompress.Common.Rar.Headers { ReadOnlySubStream ms = new ReadOnlySubStream(reader.BaseStream, fh.CompressedSize); - fh.PackedStream = new RarCryptoWrapper(ms) { Salt = fh.Salt}; + fh.PackedStream = new RarCryptoWrapper(ms, Password) { Salt = fh.Salt}; } break; default: diff --git a/SharpCompress/Common/Rar/RarCryptoWrapper.cs b/SharpCompress/Common/Rar/RarCryptoWrapper.cs index 91a93178..56d9892c 100644 --- a/SharpCompress/Common/Rar/RarCryptoWrapper.cs +++ b/SharpCompress/Common/Rar/RarCryptoWrapper.cs @@ -12,15 +12,16 @@ namespace SharpCompress.Common.Rar private readonly Stream _actualStream; private byte[] _salt; private Rijndael _rijndael; - private string _password = "test"; + private readonly string _password; private byte[] _aesInitializationVector = new byte[CryptoBlockSize]; private byte[] _aesKey = new byte[CryptoBlockSize]; private Queue _data = new Queue(); private const int CryptoBlockSize = 16; - public RarCryptoWrapper(Stream actualStream) + public RarCryptoWrapper(Stream actualStream, string password) { _actualStream = actualStream; + _password = password; } internal byte[] Salt @@ -143,9 +144,7 @@ namespace SharpCompress.Common.Rar for (int i = 0; i < count; i++) { buffer[offset+i] = _data.Dequeue(); - Console.Write(buffer[i].ToString("x2") + " "); } - Console.WriteLine(); } return count; diff --git a/SharpCompress/Common/Rar/RarVolume.cs b/SharpCompress/Common/Rar/RarVolume.cs index 1d5d0556..05480d16 100644 --- a/SharpCompress/Common/Rar/RarVolume.cs +++ b/SharpCompress/Common/Rar/RarVolume.cs @@ -13,11 +13,18 @@ namespace SharpCompress.Common.Rar public abstract class RarVolume : Volume { private readonly RarHeaderFactory headerFactory; + public string Password { get; set; } - internal RarVolume(StreamingMode mode, Stream stream, Options options) + internal RarVolume(StreamingMode mode, Stream stream, Options options) + : this(mode, stream, null, options) + { + + } + + internal RarVolume(StreamingMode mode, Stream stream, string password, Options options) : base(stream, options) { - headerFactory = new RarHeaderFactory(mode, options); + headerFactory = new RarHeaderFactory(mode, options, password); } internal StreamingMode Mode diff --git a/SharpCompress/IO/MarkingBinaryReader.cs b/SharpCompress/IO/MarkingBinaryReader.cs index 9da28bb1..6ab96d6a 100644 --- a/SharpCompress/IO/MarkingBinaryReader.cs +++ b/SharpCompress/IO/MarkingBinaryReader.cs @@ -10,15 +10,16 @@ namespace SharpCompress.IO internal class MarkingBinaryReader : BinaryReader { private byte[] _salt; - private string _password = "test"; + private readonly string _password; private byte[] _aesInitializationVector = new byte[16]; private byte[] _aesKey = new byte[16]; private Rijndael _rijndael; private Queue _data = new Queue(); - public MarkingBinaryReader(Stream stream) + public MarkingBinaryReader(Stream stream, string password = null) : base(stream) { + _password = password; } public long CurrentReadByteCount { get; private set; } @@ -174,11 +175,8 @@ namespace SharpCompress.IO for (int i = 0; i < count; i++) { - decryptedBytes[i] = _data.Dequeue(); - Console.Write(decryptedBytes[i].ToString("x2") + " "); } - Console.WriteLine(""); return decryptedBytes; } diff --git a/SharpCompress/Reader/Rar/RarReader.cs b/SharpCompress/Reader/Rar/RarReader.cs index cf26e06d..68ee8b2f 100644 --- a/SharpCompress/Reader/Rar/RarReader.cs +++ b/SharpCompress/Reader/Rar/RarReader.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.IO; using System.Linq; using SharpCompress.Common; @@ -12,6 +13,7 @@ namespace SharpCompress.Reader.Rar /// public abstract class RarReader : AbstractReader { + public string Password { get; set; } private RarVolume volume; private readonly Unpack pack = new Unpack(); @@ -37,8 +39,7 @@ namespace SharpCompress.Reader.Rar /// public static RarReader Open(Stream stream, Options options = Options.KeepStreamsOpen) { - stream.CheckNotNull("stream"); - return new SingleVolumeRarReader(stream, options); + return Open(stream, null, options); } /// @@ -57,7 +58,7 @@ namespace SharpCompress.Reader.Rar internal override IEnumerable GetEntries(Stream stream) { - volume = new RarReaderVolume(stream, Options); + volume = new RarReaderVolume(stream, Password, Options); foreach (RarFilePart fp in volume.ReadFileParts()) { ValidateArchive(volume); @@ -76,5 +77,11 @@ namespace SharpCompress.Reader.Rar new MultiVolumeReadOnlyStream( CreateFilePartEnumerableForCurrentEntry().Cast(), this))); } + + public static RarReader Open(Stream stream, string password, Options options = Options.KeepStreamsOpen) + { + stream.CheckNotNull("stream"); + return new SingleVolumeRarReader(stream, password, options); + } } } \ No newline at end of file diff --git a/SharpCompress/Reader/Rar/RarReaderVolume.cs b/SharpCompress/Reader/Rar/RarReaderVolume.cs index d2b6368e..d24e63bd 100644 --- a/SharpCompress/Reader/Rar/RarReaderVolume.cs +++ b/SharpCompress/Reader/Rar/RarReaderVolume.cs @@ -9,8 +9,10 @@ namespace SharpCompress.Reader.Rar { public class RarReaderVolume : RarVolume { - internal RarReaderVolume(Stream stream, Options options) - : base(StreamingMode.Streaming, stream, options) + + + internal RarReaderVolume(Stream stream, string password, Options options) + : base(StreamingMode.Streaming, stream, password, options) { } diff --git a/SharpCompress/Reader/Rar/SingleVolumeRarReader.cs b/SharpCompress/Reader/Rar/SingleVolumeRarReader.cs index 028e628e..2fe2b7f0 100644 --- a/SharpCompress/Reader/Rar/SingleVolumeRarReader.cs +++ b/SharpCompress/Reader/Rar/SingleVolumeRarReader.cs @@ -7,11 +7,13 @@ namespace SharpCompress.Reader.Rar { internal class SingleVolumeRarReader : RarReader { + private readonly Stream stream; - internal SingleVolumeRarReader(Stream stream, Options options) + internal SingleVolumeRarReader(Stream stream, string password, Options options) : base(options) { + Password = password; this.stream = stream; } From 1e7d6dc4f58b7d8abd702d41c7c971c641e8e454 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Mon, 15 Jul 2013 00:42:48 +0800 Subject: [PATCH 14/15] Test both Rar with header+ file encrypted and only file encrypted --- SharpCompress.Test/Rar/RarReaderTests.cs | 11 +++++++++-- TestArchives/Archives/Rar.encrypted.rar | Bin 60172 -> 0 bytes .../Archives/Rar.encrypted_filesAndHeader.rar | Bin 0 -> 60172 bytes .../Archives/Rar.encrypted_filesOnly.rar | Bin 0 -> 60069 bytes 4 files changed, 9 insertions(+), 2 deletions(-) delete mode 100644 TestArchives/Archives/Rar.encrypted.rar create mode 100644 TestArchives/Archives/Rar.encrypted_filesAndHeader.rar create mode 100644 TestArchives/Archives/Rar.encrypted_filesOnly.rar diff --git a/SharpCompress.Test/Rar/RarReaderTests.cs b/SharpCompress.Test/Rar/RarReaderTests.cs index 8d8db757..7da0d139 100644 --- a/SharpCompress.Test/Rar/RarReaderTests.cs +++ b/SharpCompress.Test/Rar/RarReaderTests.cs @@ -80,9 +80,16 @@ namespace SharpCompress.Test } [TestMethod] - public void Rar_Encrypted_Reader() + public void Rar_EncryptedFileAndHeader_Reader() { - ReadRar("Rar.encrypted.rar", "test"); + ReadRar("Rar.encrypted_filesAndHeader.rar", "test"); + + } + + [TestMethod] + public void Rar_EncryptedFileOnly_Reader() + { + ReadRar("Rar.encrypted_filesOnly.rar", "test"); } diff --git a/TestArchives/Archives/Rar.encrypted.rar b/TestArchives/Archives/Rar.encrypted.rar deleted file mode 100644 index a30d1bd3c8c42a1af1bdaea5b1509a49bf7c6b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60172 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 diff --git a/TestArchives/Archives/Rar.encrypted_filesAndHeader.rar b/TestArchives/Archives/Rar.encrypted_filesAndHeader.rar new file mode 100644 index 0000000000000000000000000000000000000000..d055dc77a315b84b9bf707a80f1bf985cc0cab1b GIT binary patch literal 60172 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 YYnXkG&v}Iw8EJ7`>b_qZkkF?I00Uv)VE_OC literal 0 HcmV?d00001 diff --git a/TestArchives/Archives/Rar.encrypted_filesOnly.rar b/TestArchives/Archives/Rar.encrypted_filesOnly.rar new file mode 100644 index 0000000000000000000000000000000000000000..d4ff767b6e463943374f66b659546639ea780eff GIT binary patch literal 60069 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 O87CjHt!8jwX8-``%F{mp literal 0 HcmV?d00001 From 6c2b447530b12a041417acebef7baa5cf14275e8 Mon Sep 17 00:00:00 2001 From: Hamdanil Rasyid Date: Mon, 15 Jul 2013 00:44:07 +0800 Subject: [PATCH 15/15] Fix filename --- SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs b/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs index fa3902be..45e13526 100644 --- a/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs +++ b/SharpCompress.Test/Rar/Unit/RarHeaderFactoryTest.cs @@ -31,7 +31,7 @@ namespace SharpCompress.Test.Rar.Unit public void ReadHeaders_RecognizeEncryptedFlag() { - ReadEncryptedFlag("Rar.Encrypted.rar", true); + ReadEncryptedFlag("Rar.Encrypted_filesAndHeader.rar", true);