吾爱破解2012CM大赛破文-willJ

既然别人破过了,那我就要和别人不一样。

OD载入,运行,输入假码。

 

点击“查看”----“窗口”

找到check按钮,右键,“在classproc上设置消息断点”

选择202

确定,找到程序,点击check按钮。

这时候停在系统领空。点击“查看”-“内存”,在text上F2下断,F9运行。

这时候来到程序的消息处理函数位置,但不一定立刻就处理按钮消息。

我们往下看找到好几个GetDlgItemXXX之类的函数,这就是处理按钮的了。

 

1 00401218   . /0F87 6F010000 ja      0040138D
2 0040121E   . |6A 00         push    0                                ; /IsSigned = FALSE
3 00401220   . |6A 00         push    0                                ; |pSuccess = NULL
4 00401222   . |68 FA030000   push    3FA                              ; |ControlID = 3FA (1018.)
5 00401227   . |56            push    esi                              ; |hWnd
6 00401228   . |FFD7          call    edi                              ; \GetDlgItemInt
7 0040122A   . |85C0          test    eax, eax

直接在test eax,eax上F4。

通过测试我们就可以找到关键跳。

1 00401254   .  8B3D D4604000 mov     edi, dword ptr [<&USER32.GetDlgI>;  USER32.GetDlgItem
2 0040125A   .  83C4 18       add     esp, 18
3 0040125D   .  85C0          test    eax, eax
4 0040125F   .  74 6B         je      short 004012CC                   ;  关键跳

nop关键跳即可。

破解视频: http://115.com/file/dpt0ijpb

posted @ 2012-05-15 00:27  r3call  阅读(790)  评论(0编辑  收藏  举报