| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 开发工具 -> MFC窗口和按钮事件-正向与逆向分析 -> 正文阅读 |
|
|
[开发工具]MFC窗口和按钮事件-正向与逆向分析 |
1.背景? ? 模态窗口和非模态窗口是子窗体的两种类型。模态窗口有时会作为一种授权手段,总在最前挡住主窗体,需要注册才能使用软件,另外,通过窗体的监控,我们会更了解MFC程序的exe结构,所以走一遍看看。 2.创建窗体MFC程序2.1 创建主窗体
2.2 资源试图创建子窗体
2.3 产生对应的类(.h和.cpp文件)
? 2.4 添加按钮和消息提示框在主窗体添加按钮,创建按钮事件处理函数
双击进入填写代码:
3.导入逆向分析3.1 visual studio 2022反汇编窗口在消息处理事件中设置一个断点,启动调试,正常操作,遇到断点就停下来。
?可以看到对应的汇编指令。 3.2 导入IDA通过搜索关键字扎到代码位置
这个函数是没有说明它是按钮事件的处理函数的,即使在我有pdb文件的情况下,也是看不到的。
?所以只好寄望于从它的指针存放的位置来推断,它是消息事件处理函数,因为从函数指针往上翻,看到了这个:
?不过这个过程是不实用的,因为从自己制造的messagebox的字符串去找,真实的程序不一定有。后续可能在PE文件的课程里,会了解到C++的exe结构是如何的吧。
3.3 导入X32dbg搜索“Hali”也是一下就找到处理函数了,因为内存引用直接被它引到源码里了,所以速度更快。
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/24 13:04:13- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |