天天挂茶馆
设为首页
收藏本站
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
微信扫码,快速开始
快捷导航
论坛
BBS
钱包
任务大厅
联系站长
试看VIP
加入外部QQ群
办理VIP
教程目录
VIP须知
音乐厅
工具下载
入门教程
传奇教程
问道教程
CE教程
OD教程
注入与内联汇编
征途教程
成吉思汗教程
侠义外传教程
搜索
搜索
热搜:
C++
本版
帖子
用户
挂茶馆易语言论坛
»
论坛
›
游戏数据
›
数据逆向
›
用OD手动查找窗口过程函数(classProc)
返回列表
发新帖
查看:
2818
|
回复:
0
用OD手动查找窗口过程函数(classProc)
[复制链接]
admin
admin
当前离线
积分
457063
已绑定手机
253
主题
492
回帖
45万
积分
管理员
积分
457063
收听TA
发消息
发表于 2018-10-4 21:51:13
|
显示全部楼层
|
阅读模式
有时候我们用OD查找窗口的classProc地址是不正确的,这时候可以用如下方法手动查找
1. 用OD打开被调试程序
打开 插件->API断点设置工具->常用断点设置,把CreateWindow的三个函数勾上,确定
2. 按F9让程序运行并在断点停下,直到在堆栈窗口观察到你要的窗口名字(本文以“计算器”为例)
3. 一路F8执行直到回到调用CreateWindowExW的代码段,并在附近找到pWndClassEx,可发现pWndClassEx的值存放在eax中,下面的RegisterClassExW就是利用pWndClassEx把窗口过程函数和窗口绑定起来的
4. 我们把断点设置在push eax这行并清空其他断点,重新运行程序到断点处,在命令行键入db eax可以查找到pWndClassEx的数据,我们用MSDN查找
pWndClassEx的数据结构如下图,可以发现窗口过程函数保存在lpfnWndProc变量中,即第三个DWORD数据
从数据窗口可以看到pWndClassEx的数据,以我查到的结果为例,窗口过程函数的地址应为
0x00731EDE
(这里要注意,低字节在右边)
5. Ctrl+G 键入
0x00731EDE
我们就可以跳转到窗口过程函数的代码啦~
---------------------本文来自 小明湖畔 的CSDN 博客 ,全文地址请点击:
https://blog.csdn.net/u010497228 ... 045?utm_source=copy
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
模块分享
关闭
站长推荐
/1
挂茶馆VIP模块永久免费
永久免费,内存读取,DLL注入,汇编代码调用,任意地址HOOK,功能应有尽有!
查看 »
快速回复
返回顶部
返回列表