压缩包密码破解-PkCrack(明文攻击)

一、压缩包破解方法

压缩包加密,密码忘记。破解办法就两种:1、暴力破解 2、明文攻击。剩下的就是找工具了。

1、暴力破解

密码挨个尝试

常用工具:ARCHPR 4.53、Bandizip专业版、Ziperello
原理:生成密码字典,暴力尝试。
速度:与密码长度、系统性能有关

2、明文攻击

该攻击是已知的纯文本攻击,这意味着您必须知道部分加密数据才能破解密码。
比如:加密压缩包中有10张图片,其中1张图片你有未加密的源文件。

常用工具:ARCHPR 4.53、PkCrack
原理:明文攻击是一种较为高效的攻击手段,大致原理是当你不知道一个zip的密码,但是你有zip中的一个已知文件(文件大小要大于12Byte)或者已经通过其他手段知道zip加密文件中的某些内容时,因为同一个zip压缩包里的所有文件都是使用同一个加密密钥来加密的,所以可以用已知文件来找加密密钥,利用密钥来解锁其他加密文件
速度:非常快

二、PkCrack使用

1、Windows

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值