用OD调试扫雷程序为什么查找主窗口函数地址查不到

如题所述

OD查找 扫雷主窗口函数 地址

时间:2014-09-10 00:28:39 阅读:413 评论:0 收藏:0 [点我收藏+]
标签:ollydbg 调试 扫雷

闲着没事,使用OD调试下扫雷程序,看了郁金香大牛的视频,OD载入扫雷程序,F9运行,查看——窗口(刷新),就可以看到主窗口地址,不知道什么原因,本机OD显示的地址是FFXXXXXXX地址,很明显不对,换了好几个系统也不正常。无奈,只好自己跟下。

一、OD打开扫雷程序,程序停在模块入口点出

bubuko.com,布布扣
二、ctrl + g 在 RegisterClassW函数出下断点

bubuko.com,布布扣
然后 F9运行,停在此处,然后 ctrl + F9 跳出此函数

bubuko.com,布布扣
在pWndClass出下断点(此处是窗口注册类,下上断点看窗口注册类的地址),然后取消RegisterClassW的断点,重新运行,程序停在,pWndClass处

bubuko.com,布布扣

可知窗口注册类的地址为 7FED0 ,内存中查看窗口注册类内容。

由窗口注册类结构

typedef struct tagWNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;

可知,结构第二项,为回调函数的地址,从内存中可知,回调函数地址为01001bc9
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-15
  查看——窗口(刷新),停在此处; LPCWSTR lpszClassName,然后取消., F9运行:28,重新运行,很明显不对OD查找 扫雷主窗口函数 地址时间、OD打开扫雷即可看到。
  扫雷程序:OD,软件名称,反汇编工具OD=OllyDebug,一个新的动态追踪工具,把IDA与SoftICE结合起来,Ring3级的调试器,已代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是最强大的调试工具。基本上,调试自己的程序因为有源码,一般用vc,破解别人的程序用OllyDebug。