一、压缩包破解方法
压缩包加密,密码忘记。破解办法就两种:1、暴力破解 2、明文攻击。剩下的就是找工具了。
1、暴力破解
密码挨个尝试
常用工具:ARCHPR 4.53、Bandizip专业版、Ziperello
原理:生成密码字典,暴力尝试。
速度:与密码长度、系统性能有关
2、明文攻击
该攻击是已知的纯文本攻击,这意味着您必须知道部分加密数据才能破解密码。
比如:加密压缩包中有10张图片,其中1张图片你有未加密的源文件。
常用工具:ARCHPR 4.53、PkCrack
原理:明文攻击是一种较为高效的攻击手段,大致原理是当你不知道一个zip的密码,但是你有zip中的一个已知文件(文件大小要大于12Byte)或者已经通过其他手段知道zip加密文件中的某些内容时,因为同一个zip压缩包里的所有文件都是使用同一个加密密钥来加密的,所以可以用已知文件来找加密密钥,利用密钥来解锁其他加密文件
速度:非常快
二、PkCrack使用
1、Windows
2、Mac or Linux下
git clone https://github.com/keyunluo/pkcrack
mkdir pkcrack/build
cd pkcrack/build
cmake ..
make
您需要两个文件:
- 要解密的ZIP存档
- 另一个ZIP归档文件,其中至少包含未加密形式的加密存档中的一个文件。 必须使用与加密文件相同的压缩方法压缩该文件。
pkcrack -C encrypted-ZIP -c ciphertextname -P plaintext-ZIP
-p plaintextname -d decrypted_file -a
- encrypted-ZIP:是加密的ZIP归档文件的名称(和路径)
- ciphertextname:是存档中文件的名称,对于该文件,您具有-纯文本
- plaintext-ZIP:是包含压缩明文的ZIP归档文件的名称(和路径)
- plaintextname:是归档文件中包含已知明文的文件名
- unlocked_file:是解密档案将被写入的文件的名称
pkcrack完成后,您将在文件decrypted_file中找到解密的存档。 您可以使用任何解压缩程序将其解压缩。
3、示例
demo
├── demo.zip # encrypted-ZIP
├── pkcrack
├── pkcrack.exe
├── README.txt # plaintext
└── README.zip # plaintext-ZIP
以下shell命令用于破解:
../bin/pkcrack -C demo.zip -c README.txt -P README.zip -p README.txt -d cracked.zip -a
结果将是:
Files read. Starting stage 1 on Thu Dec 7 12:45:53 2017
Generating 1st generation of possible key2_624 values...done.
Found 4194304 possible key2-values.
Now we're trying to reduce these...
Done. Left with 11054 possible Values. bestOffset is 24.
Stage 1 completed. Starting stage 2 on Thu Dec 7 12:46:07 2017
Ta-daaaaa! key0=be5382c6, key1= 750a330, key2=e7d4dbfe
Probabilistic test succeeded for 605 bytes.
Ta-daaaaa! key0=be5382c6, key1= 750a330, key2=e7d4dbfe
Probabilistic test succeeded for 605 bytes.
Stage 2 completed. Starting zipdecrypt on Thu Dec 7 12:47:34 2017
Decrypting CRACK.txt (aafa572da93cf74237fbca5d)... OK!
Decrypting README.txt (83c0bfb47b83166f9f43a365)... OK!
Finished on Thu Dec 7 12:47:34 2017
参考链接:
1、https://github.com/keyunluo/pkcrack
2、https://www.imooc.com/article/258198