明确2个点:
1、MFC是微软为了方便程序员编写界面程序推出的一种软件架构(不能用在非微软系统上面,QT可以)
2、对于程序员来说,MFC涉及2个文件和3个关键位置,如下:
2个文件:.h文件和.cpp文件
3个关键位置:消息响应函数声明、实现以及控件和消息响应函数之间映射。
使用一个具体例子说明:
2个文件:6Dlg.h 6Dlg.cpp
3个关键位置:
消息响应函数声明,6Dlg.h文件
实现,6Dlg.cpp文件
控件和消息响应函数之间映射,6Dlg.cpp文件
从生成的PE文件中定位消息响应函数位置,大致布局如下:
详细内容如下(按虚拟地址从小到大顺序):
测试环境:Windows10 VS2015
其中MFC中函数不再以函数名出现,以函数序号代替函数名
注意:并不是所有的MFC程序中的消息响应函数都是这样分布,比如CTF中的MFC程序会故意难为你,不会是这种"惯例"布局。
例子下载地址:https://download.csdn.net/download/singleyellow/12741639