使用 pkcrack 破解 ZIP 2.0

ZIP 2.0 cracking using pkcrack

我一直在尝试进入一个旧的 ZIP 存档,其中仍然有一些文件,但我在理解这一切的工作原理时遇到了一些问题。我相信我有正确的明文,但不知何故它不起作用。看看下面的数据,我通过安装旧版本的WinZIP(8.1)得到的明文。

旧的加密文件:

part number in which file begins (00):          part 1
relative offset of local header:                0 (0x00000000) bytes
version made by operating system (00):          MS-DOS, OS/2, NT FAT
version made by zip software (20):              2.0
operat. system version needed to extract (00):  MS-DOS, OS/2, NT FAT
unzip software version needed to extract (20):  2.0
general purpose bit flag (0x0001) (bit 15..0):  0000.0000 0000.0001
  file security status  (bit 0):                encrypted
  extended local header (bit 3):                no
compression method (08):                        deflated
  compression sub-type (deflation):             normal
file last modified on (0x000034f2 0x00004e10):  2006-jul-26 16:23:11
32-bit CRC value:                               0xed656c30
compressed size:                                944826 bytes
uncompressed size:                              954936 bytes
length of filename:                             12 characters
length of extra field:                          0 bytes
length of file comment:                         0 characters
internal file attributes:                       0x0000
  apparent file type:                           binary
external file attributes:                       0x00000020
  non-MSDOS external file attributes:           0x000000
  MS-DOS file attributes (0x20):                arc
Current Location part 1 offset 2691065
filename:Photo001.JPG
Current Location part 1 offset 2691087
Central directory entry PK0102 (4+42): #2

以及较新的明文:

    part number in which file begins (00):          part 1
    relative offset of local header:                1746047 (0x001aa47f) bytes
    version made by operating system (00):          MS-DOS, OS/2, NT FAT
    version made by zip software (20):              2.0
    operat. system version needed to extract (00):  MS-DOS, OS/2, NT FAT
    unzip software version needed to extract (20):  2.0
    general purpose bit flag (0x0000) (bit 15..0):  0000.0000 0000.0000
      file security status  (bit 0):                not encrypted
      extended local header (bit 3):                no
    compression method (08):                        deflated
      compression sub-type (deflation):             normal
    file last modified on (0x00004505 0x0000a882):  2014-aug-05 21:04:04
    32-bit CRC value:                               0xed656c30
    compressed size:                                944816 bytes
    uncompressed size:                              954936 bytes
    length of filename:                             12 characters
    length of extra field:                          0 bytes
    length of file comment:                         0 characters
    internal file attributes:                       0x0000
      apparent file type:                           binary
    external file attributes:                       0x81b60020
      non-MSDOS external file attributes:           0x81b600
      MS-DOS file attributes (0x20):                arc
Current Location part 1 offset 2691095
    filename:Photo001.JPG
Current Location part 1 offset 0
Local directory entry PK0304 (4+26): #1

据我所知,存在一些差异,但我认为它们无关紧要。外部文件属性应该只在解密后才重要,对吧?并且未压缩的大小和 CRC 相同,因此它应该是完全相同的文件。压缩方法也是一样的。此外,我非常确定 WinZIP 用于加密。所以奇怪的是压缩后的大小有 10 个字节的差异。 运行 pkcrack 有人告诉我 "No solutions found. You must have chosen the wrong plaintext." 这是不正确的。有谁知道我做错了什么?

PS。如果有人知道如何使用的话,我还有来自同一个存档中文本文件的大约 30 个字节的纯文本。文档说只知道文件的一部分就足够了,但我从未找到指定如何使用它的来源。

找到答案了。我试图做的事情有两个问题。首先它确实是错误的WinZIP版本,所以我只是尝试了上面信息中看到的日期前后发布的每个版本。其次,pkcrack 中有一些错误导致分段错误。这对我来说意味着 运行 使用 ZIP 存档的工具崩溃了,取而代之的是我不得不 运行 在提取文件后一次对一个文件使用该工具。