fjnhwwx 发表于 2006-5-17 19:10:38

关于暂停大法操作中的遇到的一个问题

轻松对付调用“MessageBoxA”以及类似的模态对话框的程序
    很多人都认为OD不好拦截“MessageBoxA”这类API函数。其实我们有个很简单的办法将
API拦截下来,并且快速找到比较地点/主算法地点。首先用OD加载目标程序,如果不能加载,
用上面的方法“Attach”目标程序。然后,F9运行目标程序,并且有意让目标程序显示“
MessageBox”,然后切换到OD中,F12暂停,如
0041201F|>53            PUSH    EBX                  ; /Style
00412020|.57            PUSH    EDI                  ; |Title
00412021|.FF75 08      PUSH                    ; |Text
00412024|.FF75 F4      PUSH                ; |hOwner
00412027|.FF15 A8534100 CALL    DWORD PTR DS:; \MessageBoxA
0041202D|.85F6          TEST    ESI, ESI            ; 停在此处
0041202F|.8BF8          MOV    EDI, EAX
00412031|.74 05      JE      SHORT 1551-CRA.00412038
F8单步一下,切换到“MessageBox”中,确认,被OD中断。我们可以看见上面的代码41201F
处有一个“〉”,说明可以从某段代码跳转到此处,我们选择41201F这一行,在
“Information”栏看见一句“JUMP FROM 412003”,右键单击,选择“GO TO JUMP FROM
412003”。回到412003,一般都是条件跳转,上面的内容就是比较的地方啦。:)


问题是我一按F12暂停,会来到系统领空,按CTRL+F12或ALT+F9,OD会提示返回用户,程序运行,无法步进分析

飘云 发表于 2006-5-17 22:17:38

原帖由 fjnhwwx 于 2006-5-17 19:10 发表
轻松对付调用“MessageBoxA”以及类似的模态对话框的程序
    很多人都认为OD不好拦截“MessageBoxA”这类API函数。其实我们有个很简单的办法将
API拦截下来,并且快速找到比较地点/主算法地点。首先用OD加载 ...


BCG的CrackMe 请勿在此讨论~
谢谢~~
页: [1]
查看完整版本: 关于暂停大法操作中的遇到的一个问题