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

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

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


二、ctrl + g 在 RegisterClassW函数出下断点


然后 F9运行,停在此处,然后 ctrl + F9 跳出此函数


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



可知窗口注册类的地址为 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



根据回调函数的参数,右键——分析——假定参数,如图:



在此处下上断点,一但windows有消息传递,则在此处断下



我们可以拦截指定消息,右键——断点——条件




有单机按钮命令消息则断下


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值