simont 发表于 2018-8-22 23:23

暴力破解某EXE资源加密工具打包文件密码

需要用到的工具:OD、WinHex、VC6.0、Ziperello(ZIP密码破解工具)

网上意外搜索到如下软件,打开发现是加密的。闲着就试试能不能解开,看看运气怎么样。现在我们开始干吧!
1、首先打开文件截图如下:
https://attach.52pojie.cn/forum/201808/20/210836o1axt4nixnxaw3x4.png
随便输入密码提示,播放密码不正确。
2、上OD直接拽入OD。发现它是D7写的东西,还是无壳的。查找字符串发现该软件名称:
https://attach.52pojie.cn/forum/201808/20/211310f6r6cuinu7a1n7to.png
本次主题是该程序解压文件后,我们是破解文件密码,并非破解本加密程序,所以对程序本身就不啰嗦。按常规手段大家有兴趣就跟下。
通过跟踪我们发现,该加密在错误密码的情况下,一样会解压文件。如下图:
https://attach.52pojie.cn/forum/201808/20/212417msm8gswysvvssuny.png
生成的文件,我们拷一份留着。因为它在生成完运行后会删除它。
3、拷出来后,我们用WinHex打开看看如下;
https://attach.52pojie.cn/forum/201808/20/212630j00ededhsred6eem.png
从数据来看,我们发现它是一个ZIP包的头。于是将文件改名,它确实是一个压缩包文件。可惜是加密文件。
https://attach.52pojie.cn/forum/201808/20/212811rqfybl33r3rrrfp8.png
现在重点就是放在如何暴力密码了。现在我们继续OD跟看有没什么发现。
OD往下走,我们在次看到重要信息:
https://attach.52pojie.cn/forum/201808/20/213239gq98fu1ohlh0cqxx.png
这里发现有个比较,估计是试用版或通用播放密码的时候,统一密码是111222333,明显这里不是默认密码,跳到下面执行发现生成了假密码,生成7个数前加上A后加上B。结合后在进行MD5加密。
这里猜想生成的MD5应该就是解压密码,往下走它开始执行压缩包了:
https://attach.52pojie.cn/forum/201808/20/213718qvkkrgg9vgg0117a.png
到这,OD部分基本走完了。因为密码不对,压缩包无法解压,程序也崩溃了。
总结:
通过OD分析,我们得到了加密的压缩包文件。解压的密码是a0000000b这样的格式在MD5一次就是最终的密码,可是没有正确密码无法解压,这串数值又如何得来成了难题。网上找ZIP破解工具,都无法解压。于是抱着试试的心态自己开始写程序生成字典来猜解!
4、打开VC 6.0,网上下载的免安装版。开始写着很戳的代码,让它自动生成密码。代码思路如下:
使用嵌套7个FOR循环从0-F,生成的字典是从a0000000b------afffffffb在MD5后保存到文本里。(仅7个循环完成字典生成)

纯文本查看 复制代码
?
0102030405060708091011121314151617181920212223CString str;for(int a=0;a<0xf;a++){for(int b=0;b<0xf;b++){for(int c=0;c<0xf;c++){for(int d=0;d<0xf;d++){for(int e=0;e<0xf;e++){for(int f=0;f<0xf;f++){for(int j=0;j<0xf;j++){str.Formart("a%d%d%d%d%d%d%db",a,b,c,d,e,f,j);MD5 m5(str.GetBuffer(),str.GetLength());}}}}}}}

我也是醉了:rggrg:rggrg:rggrg:rggrg,打心底我开始崇拜自己。这是多大一个数啊,这样我都敢干。
程序自动生成字典,眼看字典到了2G多还没完,也过去十几分钟,我也安奈不住心中的小激动。强制结束进程,开始进行爆破。
https://attach.52pojie.cn/forum/201808/20/215956gexggoepfpedsbbp.png
5、打开Ziperello工具,添加好要破解的压缩文件,选择自己生成的字典
https://attach.52pojie.cn/forum/201808/20/220218zv0a21r1aynlaeya.png
点击下一步后,开始爆破。等待结果。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
哎,这种笨的不能在笨的方法。很幸运,密码被猜解出来。说明我还真是很幸运的!
https://attach.52pojie.cn/forum/201808/20/220448ki3tdrdy3ddh07tp.png
10.png (16.23 KB, 下载次数: 0)
下载附件保存到相册2018-8-20 22:04 上传

拿到密码后,进行解压。发现密码正确!
https://attach.52pojie.cn/forum/201808/20/220648qk1e4ri3i154ix35.png
本篇结束!仅技术交流,如有不妥可联系删除。

小黑羊O.O 发表于 2018-8-23 11:53

对我这种小白来说都看不懂{:1_937:}

Ganlv 发表于 2018-8-27 18:28


挺有意思的。

这个程序的逻辑大概就是,要求输入密码(这个密码应该是一个 32 位 16 进制数,相当于把某个 `a0000000b` 格式的字符串 MD5 一下),然后把这个作为压缩包的密码解压文件,如果成功了那就正常打开程序,失败了就失败了。这个理解应该没错吧。

这里有几个问题。

1. 为什么 `a0000000b` 这个格式表示 `a0000000b -afffffffb` 而不是`a0000000b -a9999999b` 或者 `a0000000b -azzzzzzzb`?

2. 如果是7位完整的字典最小应该是 8 GB(总共 256 M 条 每条 32 字节),为什么只生成 2 GB 就找到结果了 ?

3. 为什么用自动跑字典的软件,用了 103 秒就结束了?
    按照这个尝试速度,和 103 秒的时间,应该已经尝试了 1.8 G 条了,这个速度有些不能理解,况且你的字典总共没有那么多条数据。
    还有,剩余时间的将近 5 万天是什么意思。这里不太理解。

4. `f01ee686d4ad12bdba2dda094f28b859` 这个 MD5 的原始内容是什么。

MyComputer 发表于 2018-8-23 11:16

楼主,Ziperello工具能不能分享一下?在下有个压缩包,用别的软件跑到7位密码了,还没出来,都要绝望了。。。

Windows10 发表于 2018-8-23 11:23

这个思路好

pananhui 发表于 2018-8-23 12:01

感谢楼主分享

163zsm 发表于 2018-8-23 12:17

现在学破解还晚吗,感觉干不动了。

hbqjxhw 发表于 2018-8-23 12:29

思路清晰。
楼主:软件能不能发一份供研究研究。

ycyanwen 发表于 2018-8-23 13:06

楼主的技术厉害,很崇拜你

依佳人时代 发表于 2018-8-23 14:06

小白来学习 学习

Boxe 发表于 2018-8-23 14:14


对我这种小白来说都看不懂
页: [1] 2 3 4 5 6 7 8
查看完整版本: 暴力破解某EXE资源加密工具打包文件密码