利用反汇编对WNDPROC进行追踪
来源:互联网 发布:上海音协网络考级 编辑:程序博客网 时间:2024/06/05 08:56
很简单的一个WINDOWS程序,就是简单的创建窗口,消息循环。。。
目的:wndproc 窗口消息处理程序 什么时候执行的 反汇编如何追踪
首先在WNDPROC 那下断点
反汇编追踪 到registerclassA的时候还未跳到wndproc (追踪wndproc执行的时候会跳至user32领空)
0040115A |. FF15 B8A34200 call dword ptr [<&USER32.CreateWindow>;\CreateWindowExA
这里直接F8会到wndproc
在createwindowEXA的时候会跳到wndproc,F7跳到user32领空
77D2E4AE 68 01000040 push 4000000177D2E4B3 FF75 34 push dword ptr [ebp+34]77D2E4B6 FF75 30 push dword ptr [ebp+30]77D2E4B9 FF75 2C push dword ptr [ebp+2C]77D2E4BC FF75 28 push dword ptr [ebp+28]77D2E4BF FF75 24 push dword ptr [ebp+24]77D2E4C2 FF75 20 push dword ptr [ebp+20]77D2E4C5 FF75 1C push dword ptr [ebp+1C]77D2E4C8 FF75 18 push dword ptr [ebp+18]77D2E4CB FF75 14 push dword ptr [ebp+14]77D2E4CE FF75 10 push dword ptr [ebp+10]77D2E4D1 FF75 0C push dword ptr [ebp+C]77D2E4D4 FF75 08 push dword ptr [ebp+8]77D2E4D7 E8 B5FEFFFF call 77D2E391 /按F7 否则直接跑飞
77D2E387 FF12 call dword ptr [edx] 这个CALL会跳到wndproc,不能F7跟进,否则进程会终止
7C92E470 FF1490 call dword ptr [eax+edx*4]
追踪到这里,提示调试的信息无法处理异常,进程终止
------------------------------------------------------------------------------------------------------------------------------------------------------------
综上,发现WNDPROC是在createwindow之后执行的,最后会进入一个异常处理程序,如果不在WNDPROC下断,那么直接跟踪发现是不会进入wndproc的,会在消息那一直循环。那么猜想wndproc的处理机制类似如异常处理?由USER32间接调用?。。。
- 利用反汇编对WNDPROC进行追踪
- 利用Zipkin对Spring Cloud应用进行服务追踪分析
- 利用Zipkin对Spring Cloud应用进行服务追踪分析
- Cobra —— 对Python源文件进行完整反汇编
- 利用matlab对彩色图像进行取反
- 什么是堆栈追踪(StackTrace)?如何利用StackTrace对程序进行调试?
- 利用反汇编帮助查找段错误
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- myeclipse使用学习
- hibernate中的关联关系的配置
- http://blog.csdn.net/geagle/article/details/1598572
- 使用SWIG将C++绑定到python
- this指针的使用
- 利用反汇编对WNDPROC进行追踪
- Jquery调用C#后台方法注意事项
- 手机最常用功能排行:上网第一 打电话仅位列第五
- Ubuntu12.04下nginx+php-fpm开启PHP错误报告
- 古老的线程方法对比
- ios开发收藏链接
- Oracle中单行函数之(转换函数)
- LXC 学习
- 利用webBrowser获取框架内Html页面内容