首页
社区
课程
招聘
[旧帖] [求助]"调出"MFC42.dll模块 是如何"调出"呢?怎么跟踪进去这个DLL 0.00雪花
发表于: 2008-10-29 21:21 4736

[旧帖] [求助]"调出"MFC42.dll模块 是如何"调出"呢?怎么跟踪进去这个DLL 0.00雪花

2008-10-29 21:21
4736
原学习帖:http://www.debugman.com/simple/index.php?t843.html

附上部分内容

PumpMessage函数反汇编代码:
73D31194 >  56                    PUSH ESI
...
73D311A1    FF15 B0B6DC73        CALL DWORD PTR DS:[<&USER32.GetMessageA>]
73D311A7    85C0                  TEST EAX,EAX
73D311A9    74 26                JE SHORT MFC42.73D311D1    ;收到WM_QUIT,退出程序
73D311AB    817E 38 6A030000      CMP DWORD PTR DS:[ESI+38],36A
73D311B2    74 1A                JE SHORT MFC42.73D311CE
73D311B4    8B06                  MOV EAX,DWORD PTR DS:[ESI]
73D311B6    57                    PUSH EDI
73D311B7    8BCE                  MOV ECX,ESI
73D311B9    FF50 60              CALL DWORD PTR DS:[EAX+60]    ; PreTranslateMessage (消息预处理)
73D311BC    85C0                  TEST EAX,EAX
73D311BE    75 0E                JNZ SHORT MFC42.73D311CE
73D311C0    57                    PUSH EDI          ;消息预处理返回FALSE
73D311C1    FF15 ACB6DC73        CALL DWORD PTR DS:[<&USER32.TranslateMessage>]
73D311C7    57                    PUSH EDI
73D311C8    FF15 30B6DC73        CALL DWORD PTR DS:[<&USER32.DispatchMessageA>]
;
73D311CE    6A 01                PUSH 1            ;返回TRUE
73D311D0    58                    POP EAX
73D311D1    5F                    POP EDI
73D311D2    5E                    POP ESI
73D311D3    C3                    RETN

提示:
a. OD加载程序后,调出MFC42.dll模块,定位到PumpMessage代码入口处
b. 在CALL DWORD PTR DS:[EAX+60]这一条语句上设置条件断点[[esp]+4]==202,即可设置鼠标左键释放断点。
  说明:call [eax+60]是调用PreTranslateMessage函数,入口参数为:MSG* pMsg,所以:
  [esp]就是pMsg,而[[esp]]就是pMsg->hWnd  , [[esp]+4]就是pMsg->Message  
c. [[esp]]==002407B4 && [[esp]+4]==202 可以为指定按钮设置点击断点。这里002407B4是目标按钮的句柄.



"调出"MFC42.dll模块 是如何"调出"呢?怎么跟踪进去这个DLL

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
CPU窗口点右键->察看->MFC42.dll
2008-10-29 21:28
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼上这位兄弟,模块是看到了..

但没有加载那个MFC42.dll

我的调试程序是VC 8.0 编的 会否变了?
变成MFC80U.DLL了?
2008-10-29 21:50
0
游客
登录 | 注册 方可回帖
返回
//