C# NUnrar библиотека (извлечение защищенных паролем rar файлов без пароля)
Я использую эту библиотеку в C# для извлечения файлов RAR.
Может ли он извлечь файл, даже если он защищен паролем? Он даже не спрашивает пароль. Как это возможно?
Я создаю RAR-файлы, используя WinRar, и ставлю на них пароль.
1 ответ
Я автор nunrar и https://sharpcompress.codeplex.com/
Я делаю расшифровку защищенных паролем rar-архивов следующим пунктом, как я думал, что уже сделал это (zip-файлы стирают мою память).
Как говорится в другом комментарии, я всегда ищу помощи, но, надеюсь, я скоро это сделаю.
(Конец 2018 года.) Решение для распаковки архива RAR (в формате 4 или 5) с паролем: установите пакеты Nuget 7z.Libs ( https://www.nuget.org/packages/7z.Libs/) и Squid-Box. SevenZipSharp ( https://www.nuget.org/packages/Squid-Box.SevenZipSharp/). Используя этот код:
public void Unpack()
{
var rawBytes = File.ReadAllBytes(".\\Some.rar");
using (var stream = new MemoryStream(rawBytes, true))
{
// Toggle between the x86 and x64 bit dll
var path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, Environment.Is64BitProcess ? "x64" : "x86", "7z.dll");
SevenZip.SevenZipBase.SetLibraryPath(path);
using (var outMemStream = File.Create(".\\SomeSingleFile.txt"))
{
var extractor = new SevenZipExtractor(stream, "passwordXXX");
var entry = extractor.ArchiveFileData.Single(info => false == nfo.IsDirectory);
extractor.ExtractFile(entry.Index, outMemStream);
}
}
}