当前位置: 移动技术网 > 网络运营>安全>加解密 > 破解Boonz’s CreakMe

破解Boonz’s CreakMe

2018年03月18日  | 移动技术网网络运营  | 我要评论

【作者】:riusksk(泉哥)
【主页】:http://riusksk.blogbus.com
【软件】:
【时间】:2009年8月27日星期四
【声明】:纯属技术学习,如有错误之处,烦请指出!


首先用OD载入,F9运行之,在用户名一框中(作者真懒,连用户名,密码之类的字样都懒得写上,只有两个文本框,上框用户名,下框密码)先填上1,看看是否是用户名长度限制,这只是个人习惯而已,至少总比在逆向分析的时候才知道好吧,呵呵……测试结果如下图1:
 \


                  图1
由此可见,用户名长度必须在4—50之间。接着我用”riusksk”作为用户名,密码为”78787878”来分析一下。输入之后,点击check按钮,提示 "Hello, Mr. Badboy!"。我们“查找“->“所有参考文件字串”后,发现这个CM居然是用明码比较的,如下图2所示:
 \
                                          图2
单纯找出注册码这不是我们的目的,我们关注的应该是算法。双击提示字符串"Hello, Mr. Badboy!"来到下列地址:
00401000 >/$  6A 00         PUSH 0                                   ; /pModule = NULL
00401002  |.  E8 6D030000   CALL <JMP.&kernel32.GetModuleHandleA>    ; GetModuleHandleA
00401007  |.  A3 F0DC4000   MOV DWORD PTR DS:[40DCF0],EAX
0040100C  |.  6A 00         PUSH 0                                   ; /lParam = NULL
0040100E  |.  68 2B104000   PUSH keygenme.0040102B                   ; |DlgProc = keygenme.0040102B
00401013  |.  6A 00         PUSH 0                                   ; |hOwner = NULL
00401015  |.  68 E9030000   PUSH 3E9                                 ; |pTemplate = 3E9
0040101A  |.  FF35 F0DC4000 PUSH DWORD PTR DS:[40DCF0]               ; |hInst = 00400000
00401020  |.  E8 79030000   CALL <JMP.&user32.DialogBoxParamA>       ; DialogBoxParamA
00401025  |.  50            PUSH EAX                                 ; /ExitCode
00401026  .  E8 43030000   CALL <JMP.&kernel32.ExitProcess>         ; ExitProcess
0040102B  /.  55            PUSH EBP
0040102C  |.  8BEC          MOV EBP,ESP
0040102E  |.  817D 0C 10010>CMP DWORD PTR SS:[EBP+C],110
00401035  |.  75 7F         JNZ SHORT keygenme.004010B6
00401037  |.  6A EC         PUSH -14                                 ; /Index = GWL_EXSTYLE
00401039  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
0040103C  |.  E8 75030000   CALL <JMP.&user32.GetWindowLongA>        ; GetWindowLongA
00401041  |.  0D 00000800   OR EAX,80000
00401046  |.  50            PUSH EAX                                 ; /NewValue
00401047  |.  6A EC         PUSH -14                                 ; |Index = GWL_EXSTYLE
00401049  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
0040104C  |.  E8 8F030000   CALL <JMP.&user32.SetWindowLongA>        ; SetWindowLongA
00401051  |.  6A 03         PUSH 3                                   ; /Flags = S_NOSIZE|SWP_NOMOVE
00401053  |.  6A 00         PUSH 0                                   ; |Height = 0
00401055  |.  6A 00         PUSH 0                             

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网