目录

一、需求

二、程序效果

效果1:鼠标左键点击,显示坐标

效果2:按下按键,显示键值

三、实现过程

1.创建MFC程序

2.修改添加功能

2.1 修改标题

2.2 增加鼠标消息

2.3 增加键盘消息

2.4 显示文字函数

2.5 编译生成exe


一、需求

为了更好的理解MFC(C++)程序的结构,拆解方法,需要首先创建一个MFC窗口程序,对于只了解一点C++的工程师来说,走一遍MFC程序开发的流程,是很有必有的,无奈C++开发工具的版本太多,很难找到visual studio 2022版本的,因此有必要写一写。

二、程序效果

效果1:鼠标左键点击,显示坐标

效果2:按下按键,显示键值

三、实现过程

1.创建MFC程序

打开visual studio 2022选择创建MFC程序。

选择单个文档,MFC标准界面

会看到产生了5个类其中MainFrame是主窗体,view是类似窗体上的画布。

2.修改添加功能

2.1 修改标题

不像基于对话框的窗体,可以在属性页面直接更改标题,需要在窗体创建前的PreCreateWindow里初始化窗体名称,但要先取消默认窗体的设置。

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)//更改窗体的一些参数
{if( !CFrameWnd::PreCreateWindow(cs) )return FALSE;// TODO: 在此处通过修改//  CREATESTRUCT cs 来修改窗口类或样式cs.style &= ~FWS_ADDTOTITLE;/*在单文档的界面中,程序默认的窗口样式是WS_OVERLAPPEDWINDOW和FWS_ADDTOTITLE,FWS_ADDTOTITLE是MFC特定的一种样式,指示框架将文档标题添加到窗口标题之上,如果想让窗口显示自己的标题,只需要将窗口的FWS_ADDTOTITLE样式去掉即可。*/cs.lpszName = TEXT("Hali-- C++反编译demo程序");return TRUE;
}

2.2 增加鼠标消息

这一个实例主要是运用MFC的消息机制,因此选择类,开启监听的消息类别(如WM_LBUTTONUP),创建该类消息的处理函数(如OnLButtonUp),添加方法为:

修改代码:

void CMFCApplication5View::OnLButtonUp(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值CString key;key.Format(TEXT("X is %d ,Y is %d"), point.x,point.y);MessageBox(key);CView::OnLButtonUp(nFlags, point);
}

2.3 增加键盘消息

键盘事件是WM_CHAR(),处理函数默认为onChar(),添加方法为:

修改代码:

void CMFCApplication5View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{// TODO: 在此添加消息处理程序代码和/或调用默认值CString key;key.Format(TEXT("KEY Is %c"),nChar);MessageBox(key);CView::OnChar(nChar, nRepCnt, nFlags);
}

2.4 显示文字函数

显示文件的事件为PAINT或者DRAW,添加方法为:

添加代码:

void CMFCApplication5View::OnPaint()
{CPaintDC dc(this); // device context for painting// TODO: 在此处添加消息处理程序代码// 不为绘图消息调用 CView::OnPaint()dc.TextOutW(10, 20, TEXT("Hali onpaint C++"));
}

2.5 编译生成exe

选择Debug、X86模式编译,生成鲜美的MFC肉鸡,准备投入IDA进行分析。

四、启动反编译观察exe

简单MFC程序开发-C++反编译肉鸡养成相关推荐

  1. 微信小程序抓包反编译保姆级教程

    文章目录 1.基本采集流程 2.采集流程 2.1 抓包 2.1.1 抓包背景介绍 2.1.2 使用工具 2.1.3 具体抓包流程 2.2 wxapkg包获取 2.2.1 wxapkg包获取背景介绍 2 ...

  2. 保护小程序,防止反编译:打造不怕反编译的小程序

    保护小程序,防止反编译 打造不怕反编译的小程序 这几年,小程序.小游戏,非常火. 业内人都知道,小程序或小游戏,就是H5应用,就是html+JS.这类应用,反编译很容易,网上就有很多方法教程. 对小程 ...

  3. 微信小程序源码反编译

    @IT猴~ 写有用的文章 微信小程序源码反编译 亲测有效,能返编译市面上百分之90的小程序.准备: 1.夜神模拟器 2.node.js 3.微信 夜神模拟器 夜神模拟器官网: https://www. ...

  4. 微信小程序渗透测试技巧-小程序解包-反编译

    微信小程序渗透测试技巧-小程序解包-反编译 简述 安装手机模拟器,比如说夜神.MuMu 下载和安装两个应用,微信和RE文件管理器 获取root权限 打开微信,搜索相对应的小程序,然后再打开RE文件管理 ...

  5. 如何保护Java程序 防止Java反编译

    常用的保护技术 由于Java字节码的抽象级别较高,因此它们较容易被反编译.本节介绍了几种常用的方法,用于保护Java字节码不被反编译.通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已 ...

  6. 微信小程序如何进行反编译详细教程

    前言介绍 小程序反编译,其实还是简单的,要想拿到微信小程序源码,先要拿到小程序的包,用反编译脚本跑一下,微信小程序代码包里的所有文件.所有资源就出来了(除了project.config.json小程序 ...

  7. 模拟器获取微信小程序pgk然后反编译

    小程序反编译的几点心得 参考链接 https://blog.csdn.net/qq_41297837/article/details/103962564 https://github.com/yswu ...

  8. JAVA开发神器-反编译工具:jadx

    git地址: https://github.com/skylot/jadx.git 使用方法: 在上一期的开源项目推荐中,我推荐了一款强大的反编译工具,我在文中提到说要写一篇专门来介绍这个神器,今天这 ...

  9. 小程序抓包反编译测试从0到1

    APP.小程序抓包,测试教学视频请观看: Android安全逆向技术入门课程--移动安全视频教程-信息安全-CSDN程序员研修院熟悉了解Android程序APK的基本结构.文件格式 掌握APK反编译常 ...

  10. 通过安卓手机,获取微信小程序包进行反编译方法

    要求 安装Nodejs 一台root后的安卓手机或者装有可以打开微信小程序的安卓模拟器 一个敢于折腾的耐心 准备 安装反编译工具 [推荐]方法一:你可以通过git clone将它存在本地 git cl ...

最新文章

  1. LeetCode 21. Merge Two Sorted Lists--合并2个有序列表--python递归,迭代解法
  2. 详解centos7使用无线wifi连接的方法
  3. 采用redis+ThreadLocal获取全局的登录用户信息(一)
  4. 放松时刻——C#分割字符串
  5. 【转】GPS从入门到放弃(一) --- GPS基础原理
  6. android可以有一个悬浮窗口在进入屏保状态显示,点击进入应用,Android如何实现锁屏状态下弹窗...
  7. Fiddler设置抓一个域名下个包
  8. mssql 批量导入mysql_mssql 数据库 批量导入指令
  9. 【AI面试题】Softmax的原理是什么,有什么作用
  10. 计算机的最简单的操作,电脑无线投屏怎么使用(手把手教你最简单且实用的操作方法)...
  11. S7-1200 PLC的常见扩展模块
  12. Android:答题APP的设计与实现(mysql+jsp+Android)
  13. 虚拟机2008安装DHPC服务器,Windows Server 2008 配置DHCP服务器
  14. ctf解密图片得到flag_CTF中图片隐写的一些整理总结
  15. 用计算机绘制函数图像ppt,如何利用描点画函数图像课件制作
  16. SW3518快充方案
  17. 常见的邮箱的pop和imap以及smtp地址整理
  18. 公司计算机系统忘记用户密码怎么办,电脑开机密码忘记了怎么办,教您如何解决忘记电脑开机密码...
  19. 企业上云之服务器硬件篇(五)
  20. 数据通信与网络(五)

热门文章

  1. java 操作日志记录_高效日志系统搭建秘技!架构师必读
  2. nvidia显卡驱动,cuda,和cudnn版本
  3. yolo v3 pytorch版本(转载)
  4. 如何用搜索引擎搜js css源码例子
  5. 转载一个 mui 等待动画 mui.showLoading
  6. 利用 openresty balancer_by_lua 实现一个简单的 ip_hash upstream 调度
  7. 开发中IDEA常用快捷键
  8. qt解决中文乱码问题。总结一下
  9. [安全攻防进阶篇] 九.熊猫烧香病毒机理IDA和OD逆向分析(上)
  10. Java编程思想基本介绍