Tôi muốn trích xuất một tập tin exe. Tệp exe chứa một số tệp và thư mục. Khi tôi cố gắng trích xuất các tập tin sử dụng winrar nó được chiết xuất nhưng khi tôi đang cố gắng để trích xuất các tập tin exe sử dụng một số ví dụ tôi nhận được lỗi này:Số ma thuật trong tiêu đề GZip không chính xác. Hãy chắc chắn rằng bạn đang đi qua trong một dòng GZip. (. Exe tập tin)
The magic number in GZip header is not correct. Make sure you are passing in a GZip stream.
Tôi đã sử dụng một số mẫu và googled rất nhiều cho vấn đề của tôi nhưng không nhận được câu trả lời của tôi, và tôi cũng đã sử dụng một số thư viện.
tôi đã sử dụng mã này, nhưng cùng một lỗi:
public static void Decompress(FileInfo fi)
{
// Get the stream of the source file.
using (FileStream inFile = fi.OpenRead())
{
// Get original file extension, for example
// "doc" from report.doc.gz.
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length -
fi.Extension.Length);
//Create the decompressed file.
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
// Copy the decompression stream
// into the output file.
Decompress.CopyTo(outFile);
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
}
}
Đó là do tệp .exe _ không phải là tệp .gzip hợp lệ, nhưng _contains_ một. Nó là một tập tin thực thi. Winrar dường như có thể tìm thấy .gzip bên trong (vì nó có thể tạo ra một tệp thực thi như vậy, nó biết bố cục của nó và có thể đọc nó). Lưu ý rằng không phải mọi tệp .exe đều là một tệp lưu trữ tự giải nén. –
vì vậy những gì tôi nên làm u có thể cho tôi một số mã ví dụ xin vui lòng sẽ có một sự đánh giá cao nếu u có thể giúp tôi @JanDvorak –
Tôi muốn tôi có thể. Tôi có thể làm một số tìm kiếm cho bạn nhưng tôi không thể đưa ra bất kỳ sự bảo đảm nào. –