前段时间接到一个邮件说有个足球比赛软件,有密码,请我破解,拿到软件后看了一下,很小的一个软件,运行后弹出一个inputbox对话框要需入密码,也不知道里面到底有什么惊天的内幕,于是试试...
vb 的东西向来不好搞,先用vbexplorer1.1和smartcheck弄了下没弄出来,如实用OllyICE分析,调出OllyICE后装载软件,会提示软件可能被加密什么的,点"是"直接进去,进去后一大堆代码,根据输入密码后弹出的错误对话框直接下断点:bpx msgbox,还好只有一个地方,双击来到断点处:
00439EB6 . 66:85C0 test ax, ax
00439EB9 0F84 95000000 je 00439F54 //判断密码对错的地方
00439EBF . 8B3D A0104000 mov edi, dword ptr [<&MSVBVM60.__vba>; MSVBVM60.__vbaVarDup
00439EC5 . B9 0A000000 mov ecx, 0A
00439ECA . B8 04000280 mov eax, 80020004
00439ECF . 894D 98 mov dword ptr [ebp-68], ecx
00439ED2 . 894D A8 mov dword ptr [ebp-58], ecx
00439ED5 . BB 08000000 mov ebx, 8
00439EDA . 8D95 08FFFFFF lea edx, dword ptr [ebp-F8]
00439EE0 . 8D4D B8 lea ecx, dword ptr [ebp-48]
00439EE3 . 8945 A0 mov dword ptr [ebp-60], eax
00439EE6 . 8945 B0 mov dword ptr [ebp-50], eax
00439EE9 . C785 10FFFFFF>mov dword ptr [ebp-F0], 0043965C
00439EF3 . 899D 08FFFFFF mov dword ptr [ebp-F8], ebx
00439EF9 . FFD7 call edi ; <&MSVBVM60.__vbaVarDup>
00439EFB . 8D95 18FFFFFF lea edx, dword ptr [ebp-E8]
00439F01 . 8D4D C8 lea ecx, dword ptr [ebp-38]
00439F04 . C785 20FFFFFF>mov dword ptr [ebp-E0], 00439644
00439F0E . 899D 18FFFFFF mov dword ptr [ebp-E8], ebx
00439F14 . FFD7 call edi
00439F16 . 8D4D 98 lea ecx, dword ptr [ebp-68]
00439F19 . 8D55 A8 lea edx, dword ptr [ebp-58]
00439F1C . 51 push ecx
00439F1D . 8D45 B8 lea eax, dword ptr [ebp-48]
00439F20 . 52 push edx
00439F21 . 50 push eax
00439F22 . 8D4D C8 lea ecx, dword ptr [ebp-38]
00439F25 . 6A 30 push 30
00439F27 . 51 push ecx
00439F28 . FF15 2C104000 call dword ptr [<&MSVBVM60.#595>] ; MSVBVM60.rtcMsgBox 断点处
00439F2E . 8D55 98 lea edx, dword ptr [ebp-68]
根据规律,一般出现错误的前面会找到判断语句,像这样简单的软件应该复杂不到哪里去,于是仔细向上跟踪,果然找到
0F84 95000000 je 00439F54 ,直接将je改成jne,汇编后运行再随意输入密码,登陆成功,原来是一张简单的界面图.
仔细想想这样的软件做的很简单很粗糙,用了蒙人还可以,那么他的密码藏在哪里呢?用运行后查看内存无法找到,于是慢慢像上找,找到一处地方:
0043962A 00 db 00
0043962B 00 db 00
0043962C . 09 4E DB 56 6B 51 00 ascii " N踁kQ",0
00439633 . 4E 6D 51 5D 4E 6B 51 6B 51 00 ascii "NmQ]NkQkQ",0
0043963D 00 db 00
0043963E 00 db 00
感觉这里很可疑,于是将代码组合:09 4E DB 56 6B 51 00 4E 6D 51 5D 4E 6B 51 6B 51 00这是一串16进制的代码,用字符编码分析软件还原一下,还原到unicode代码的时候出现了一串字符:三四八一六九八八,大喜,立即最为密码输入,结果很正确.
下面是详细的flash录象:
http://www.net235.com/upload/crack001.swf
在解此软件的时候没有用到太多的技术,由于本人对软件的破解一直认识一直比较肤浅,因此在分析的时候很花了些时间,破解只是最后的过程,真正的技术是在分析与思索过程中,这里非常谢谢"迫降爱琴海"朋友的指点,以及看雪论坛及网络给我带来的帮助,破解此软件后兴趣大增,在看雪里找了几个简单的 crackme练了练手,不亦乐乎,后来同事一个正版图书管理软件需要换个机器安装,但由于需要认证加密,交给我,花了一上午时间给破解了...现在联想到自己有时候写些小程序,根本就想不到在破解领域里原来一切都是如此空白.
本文链接地址:http://www.net235.com/post/73.html 复制链接 | 加入收藏
转载请注明:转载自网络235 学无止境 [ http://www.net235.com/ ]
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课