使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(二)
来源:互联网 发布:香港专柜mac口红多少钱 编辑:程序博客网 时间:2024/05/18 01:42
接下来我将介绍另外两种方法来定位消息映射表
搜索控件ID
如果控件的资源ID比较特殊,那么我们可以通过直接搜索立即数的方式来定位,什么叫比较特殊的资源ID呢,就是搜索后不会出现一大片的.rdata的数据~
第一步依然是使用Resource Hacker找到对应按钮的资源ID
然后将程序载入IDA,然后搜索立即数1000
我们要找到.rdata中指令为数据,并且数值是1000(十六进制为0x3E8)的地址,注意这边只会显示一个字节db,所以是0x3E8的E8,双击跟进是不是一下子就到了消息映射表了?只要把当前的消息映射表用上一篇的方法转换下,很快就能定位到对应的按钮处理函数了~
找虚表
怎么找类的虚表呢?很简单,随便找个虚函数,查看交叉引用就好了,由于所有的消息映射表只是整个程序的消息映射图的一个子节点,我们找到一个消息映射图,通过上一节找子类消息映射图的方法就能找到其他的消息映射表。 我一般都是选择DoModel函数,因为这个函数离我们的消息映射表比较近,而且这个函数比较好找,在函数窗口找到DoModel函数,不是CDialog类的也无所谓,然后单击这个函数的交叉引用,就可以跳转到类的虚表了
然后往下翻动,就能找到消息映射表结构了,然后通过交叉引用先找到CDialog类的消息映射表(消息映射表前面有些虚函数或者类名会提示这里应该是什么类的消息映射表的),然后再通过交叉引用找到子类的消息映射表。注意这边需要往下翻很久,前面虽然也有像消息映射的结构,但是你会发现有很多类名,所以这个是RTTI结构,并不是消息映射表。
找到消息映射表,我们不仅可以知道按钮对应的处理函数,我们还可以知道CrackMe作者有没有处理其他的特殊消息~
0 0
- 使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(二)
- 使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(一)
- 使用IDA定位基于MFC的CrackMe的按钮函数-----理论篇
- VS2013/MFC基于对话框编程:[5]按钮的使用
- IDA Pro逆向实战之Crackme(简单篇)
- IDA Pro逆向实战之Crackme(简单篇)
- 《PEDIY CrackMe 2007》学习笔记(二) - 序列号 - 4nil - 一只老虎的CRACKME
- 基于MFC的五子棋应用(二)
- 使用IDA对MFC寻找按钮处理事件
- 基于MFC的五子棋应用(四)实践
- MFC下按钮自绘的实现(二)
- IDA使用之旅(二)工具及窗口的使用
- IDA使用之旅(二)工具及窗口的使用
- IDA工具的使用(持续更新)
- 没有sig文件时在IDA中定位main函数的一种方法
- CrackMe分析-OD与IDA、VS结合使用
- MFC 转按钮控件的使用
- MFC Radio按钮组的使用例子
- 手机app涉及知识汇总
- 第十周项目三——输出各种血型的数量
- JavaFX 一 出生新手村(阅读小规则)
- java学习:Hibernate入门
- java程序通过 pdf模板 添加pdf表单数据并打印
- 使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(二)
- Description Resource Path Location Type Java compiler level does not match the version of the instal
- Java垃圾收集器
- 第十周项目2 M$pszi$y是嘛意思?
- 导航类视图之UINavigationController
- nodejs express 4.0+的文件上传
- statement preparedstatement CallableStatement
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- TextControl文档只读设置