2011-08-01 35 views
14

Tôi có một vài tệp zip và rar mà tôi đang làm việc và tôi đang cố gắng phân tích các thuộc tính về cách nén từng tệp (mức nén, thuật toán nén (ví dụ: deflate, LZMA, BZip2), kích thước từ điển, kích thước chữ, v.v.) và tôi chưa tìm ra cách để thực hiện điều này.Cách xác định phương pháp nén của tệp ZIP/RAR

Có cách nào để phân tích tệp để xác định các thuộc tính này, bằng phần mềm hay cách khác không?

Chúc mừng và cảm ơn!

Trả lời

4

Tôi đề xuất hachoir-wx để xem các tệp này. How to install a Python package hoặc bạn có thể thử ActivePython với PyPM khi sử dụng Windows. Khi bạn có các gói hachoir cần thiết được cài đặt, bạn có thể làm một cái gì đó như thế này để chạy GUI:

python C: \ Python27 \ Scripts \ hachoir-wx

Nó cho phép bạn duyệt qua các các trường dữ liệu của các tệp RAR và ZIP. Xem ví dụ này screenshot.

Đối với tệp RAR, hãy xem tệp technote.txt nằm trong thư mục cài đặt WinRAR. Điều này cung cấp thông tin chi tiết về đặc tả RAR. Có thể bạn sẽ quan tâm đến những điều sau:

HEAD_FLAGS  Bit flags: 2 bytes 
       0x10 - information from previous files is used (solid flag) 
       bits 7 6 5 (for RAR 2.0 and later) 
         0 0 0 - dictionary size 64 KB 
         0 0 1 - dictionary size 128 KB 
         0 1 0 - dictionary size 256 KB 
         0 1 1 - dictionary size 512 KB 
         1 0 0 - dictionary size 1024 KB 
         1 0 1 - dictionary size 2048 KB 
         1 1 0 - dictionary size 4096 KB 
         1 1 1 - file is directory 

Kích thước từ điển cũng có thể tìm thấy trong WinRAR GUI.

METHOD   Packing method 1 byte 
       0x30 - storing 
       0x31 - fastest compression 
       0x32 - fast compression 
       0x33 - normal compression 
       0x34 - good compression 
       0x35 - best compression 

Wikipedia cũng biết điều này: tiện ích nén

Các RAR là độc quyền, với một thuật toán khép kín. RAR thuộc sở hữu của Alexander L. Roshal, anh trai của Eugene Roshal. Phiên bản 3 của RAR dựa trên Lempel-Ziv (LZSS) và dự đoán bằng cách nén một phần (PPM), đặc biệt là PPMd PPMI thực hiện bởi Dmitry Shkarin.

Đối với tệp ZIP, tôi sẽ bắt đầu bằng cách xem specificationsZIP Wikipedia page. Đây có thể là điều thú vị:

general purpose bit flag: (2 bytes) 
    compression method: (2 bytes) 
+0

Tuyệt vời, cảm ơn bạn! – Intenex

+0

byte METHOD cho tệp đầu tiên thường được tìm thấy tại offset 0x2D. –

0

Loại dễ dàng, chỉ cần nhìn vào tiêu đề tệp (PKRar).

Còn phần còn lại, tôi nghi ngờ rằng thông tin có sẵn trong nội dung được nén.

+0

Có, nó có sẵn (ít nhất là cho rar). Nhưng làm thế nào để có được nó rõ ràng phụ thuộc vào định dạng tập tin cụ thể. – Artefacto

+3

Nếu thông tin không có sẵn, nó sẽ không thể giải nén dữ liệu. –

1

Đối với các tệp ZIP, có một lệnh zipinfo.

+0

Khi tôi nhập điều đó vào bảng điều khiển của mình, nó cho biết không tìm thấy lệnh nào. –

6

Đối với bưu điện - vâng, zipinfo

Đối RAR, các tiêu đề có thể dễ dàng tìm thấy với một trong hai 7Zip hoặc WinRAR, đọc tài liệu kèm theo

+0

Cảm ơn bạn đã gợi ý! Tôi cần phải tìm hiểu những gì thiết lập ZIP MS Word sử dụng, khi nó tạo ra các tập tin .DOCX. Tệp DOCX là một tệp lưu trữ ZIP, chứa một số tệp XML và các tệp phương tiện được nhúng của bạn. Bạn có thể xử lý hàng loạt với các công cụ bạn chọn, nhưng sau đó, bạn cần phải đóng gói lại nó vào một tệp ZIP với các cài đặt mà MS Word chấp nhận! Tôi đã sử dụng zipinfo để phân tích các tệp DOCX mà MS Word đã viết. Tôi có nên đi đến kết luận cuối cùng về định dạng ZIP DOCX không, tôi sẽ đăng nó ở đây. – porg

7

Đây là một câu hỏi khá cũ, nhưng tôi muốn ném vào tôi hai xu anyway vì một số phương pháp trên không dễ sử dụng.

Bạn cũng có thể xác định điều này bằng 7-Zip.Sau khi mở các kho lưu trữ có một cột cho phương pháp nén:

7zip properties

dòng
0

Qua 7-Zip (hoặc p7zip) lệnh:

7z l -slt archive.file 

Nếu tìm kiếm đặc biệt cho các phương pháp nén:

7z l -slt archive.file | grep -e '^---' -e '^Path =' -e '^Method =' 
+0

Tôi cũng có thể đã sử dụng ['grep -E '^ ((---) | (Đường dẫn =) | (Phương thức =))''] (https://unix.stackexchange.com/a/37316/13308) . – palswim

Các vấn đề liên quan