一直使用ulock.exe这个软件给文件夹加密,长时间没使用,密码遗忘,加密后生成的文件如图,
于是决定自己解决问题练练手,在我研究了一下ulock.exe的加密机制,发现用命令提示符进入加密后生成的Thumbs.dn以后,发现无论用什么密码来加密,里面都会生成一个名为117789687的文件(当然内容不一样),如图,
猜测密码与它有关,于是自己另外用密码123加密了一次,然后从Thumbs.dn中提取出117789687文件,用记事本打开,内容如图,
于是我把那个117789687文件复制到Thumbs.dn所在文件夹然后建立一个记事本文件改名为crack.cmd,写入代码
copy 117789687 Thumbs.dn
Start ulock.exe
保存运行,弹出的对话框中输入密码123,成功解密
下面从程序着手,用PEiD查壳是UPX 0.89.6 - 1.02 / 1.05 - 2.90 (Delphi) stub -> Markus & Laszlo,这个壳简单,我就用手动脱壳,载入OD,CTrl+F,输入popad,断点>运行到所选,如图
然后连按2次F8,直接到达入口点,如图
右键脱壳,保存为ulock_.exe再用PEiD差一下,Borland Delphi 6.0 - 7.0写的,接下来工作就是爆破ulock_.exe载入OD,下断点bp MessageBoxA,F9后停留在77D507EA > 8BFF mov edi, edi
查看堆栈窗口,会发现如图信息
关闭OD,运行ulock_.exe。输入123456,解密成功!
涉及到的文件已经打包上传~
昨晚发帖以后,想想应该暴力破解一下,弄个crack版的,以防密码忘记可以拿来打开,于是早上起来便又开始研究,经过追踪,找到了暴力破解方法,具体如下
破解方法
我们备份一下ulock.exe并改名为11.exe载入OD
我们找到提示密码错误的地方
004AD54E > \6A 00 push 0
可见到信息“跳转来自 004AD275”,
转到004AD275可见如下
004AD270 . E8 6B77F5FF call 004049E0
004AD275 0F85 D3020000 jnz 004AD54E
当我们在004AD270下断,输入错误密码147258时,竟然会在寄存器窗口看到正确密码那就是说bp MessageBoxA或者004AD270 两个地方都可以看到真实密码了,刚用还以为这软件加密可以,没想到
call 004049E0肯定是比较密码的,我们不能简单的把JNZ改为JZ,那样输入正确密码反而不能解密了,怎么办呢,这是合法不跳,我们就改为跳下一条指令。 jnz 004AD54E改为jnz 004AD27B,然后我们保存修改,保存为CRACK.exe。我们会发现无论我们输入正确密码123456还是任意密码,他都会提示解密成功,至此整个破解完成!
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。
上传的附件:
3.JPG
(21.64kb,156次下载)
4.JPG
(23.79kb,161次下载)
5.JPG
(18.45kb,154次下载)
6.JPG
(52.50kb,153次下载)
7.JPG
(20.69kb,149次下载)
00.JPG
(167.54kb,144次下载)
01.JPG
(170.69kb,141次下载)
0.JPG
(16.63kb,118次下载)
1.JPG
(34.95kb,121次下载)
2.JPG
(20.75kb,120次下载)
附件.part1.rar
(800.00kb,76次下载)
附件.part2.rar
(580.86kb,61次下载)
|