简单MFC程序开发-C++反编译肉鸡养成
目录
一、需求
二、程序效果
效果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.基本采集流程 2.采集流程 2.1 抓包 2.1.1 抓包背景介绍 2.1.2 使用工具 2.1.3 具体抓包流程 2.2 wxapkg包获取 2.2.1 wxapkg包获取背景介绍 2 ...
- 保护小程序,防止反编译:打造不怕反编译的小程序
保护小程序,防止反编译 打造不怕反编译的小程序 这几年,小程序.小游戏,非常火. 业内人都知道,小程序或小游戏,就是H5应用,就是html+JS.这类应用,反编译很容易,网上就有很多方法教程. 对小程 ...
- 微信小程序源码反编译
@IT猴~ 写有用的文章 微信小程序源码反编译 亲测有效,能返编译市面上百分之90的小程序.准备: 1.夜神模拟器 2.node.js 3.微信 夜神模拟器 夜神模拟器官网: https://www. ...
- 微信小程序渗透测试技巧-小程序解包-反编译
微信小程序渗透测试技巧-小程序解包-反编译 简述 安装手机模拟器,比如说夜神.MuMu 下载和安装两个应用,微信和RE文件管理器 获取root权限 打开微信,搜索相对应的小程序,然后再打开RE文件管理 ...
- 如何保护Java程序 防止Java反编译
常用的保护技术 由于Java字节码的抽象级别较高,因此它们较容易被反编译.本节介绍了几种常用的方法,用于保护Java字节码不被反编译.通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已 ...
- 微信小程序如何进行反编译详细教程
前言介绍 小程序反编译,其实还是简单的,要想拿到微信小程序源码,先要拿到小程序的包,用反编译脚本跑一下,微信小程序代码包里的所有文件.所有资源就出来了(除了project.config.json小程序 ...
- 模拟器获取微信小程序pgk然后反编译
小程序反编译的几点心得 参考链接 https://blog.csdn.net/qq_41297837/article/details/103962564 https://github.com/yswu ...
- JAVA开发神器-反编译工具:jadx
git地址: https://github.com/skylot/jadx.git 使用方法: 在上一期的开源项目推荐中,我推荐了一款强大的反编译工具,我在文中提到说要写一篇专门来介绍这个神器,今天这 ...
- 小程序抓包反编译测试从0到1
APP.小程序抓包,测试教学视频请观看: Android安全逆向技术入门课程--移动安全视频教程-信息安全-CSDN程序员研修院熟悉了解Android程序APK的基本结构.文件格式 掌握APK反编译常 ...
- 通过安卓手机,获取微信小程序包进行反编译方法
要求 安装Nodejs 一台root后的安卓手机或者装有可以打开微信小程序的安卓模拟器 一个敢于折腾的耐心 准备 安装反编译工具 [推荐]方法一:你可以通过git clone将它存在本地 git cl ...
最新文章
- LeetCode 21. Merge Two Sorted Lists--合并2个有序列表--python递归,迭代解法
- 详解centos7使用无线wifi连接的方法
- 采用redis+ThreadLocal获取全局的登录用户信息(一)
- 放松时刻——C#分割字符串
- 【转】GPS从入门到放弃(一) --- GPS基础原理
- android可以有一个悬浮窗口在进入屏保状态显示,点击进入应用,Android如何实现锁屏状态下弹窗...
- Fiddler设置抓一个域名下个包
- mssql 批量导入mysql_mssql 数据库 批量导入指令
- 【AI面试题】Softmax的原理是什么,有什么作用
- 计算机的最简单的操作,电脑无线投屏怎么使用(手把手教你最简单且实用的操作方法)...
- S7-1200 PLC的常见扩展模块
- Android:答题APP的设计与实现(mysql+jsp+Android)
- 虚拟机2008安装DHPC服务器,Windows Server 2008 配置DHCP服务器
- ctf解密图片得到flag_CTF中图片隐写的一些整理总结
- 用计算机绘制函数图像ppt,如何利用描点画函数图像课件制作
- SW3518快充方案
- 常见的邮箱的pop和imap以及smtp地址整理
- 公司计算机系统忘记用户密码怎么办,电脑开机密码忘记了怎么办,教您如何解决忘记电脑开机密码...
- 企业上云之服务器硬件篇(五)
- 数据通信与网络(五)
热门文章
- java 操作日志记录_高效日志系统搭建秘技!架构师必读
- nvidia显卡驱动,cuda,和cudnn版本
- yolo v3 pytorch版本(转载)
- 如何用搜索引擎搜js css源码例子
- 转载一个 mui 等待动画 mui.showLoading
- 利用 openresty balancer_by_lua 实现一个简单的 ip_hash upstream 调度
- 开发中IDEA常用快捷键
- qt解决中文乱码问题。总结一下
- [安全攻防进阶篇] 九.熊猫烧香病毒机理IDA和OD逆向分析(上)
- Java编程思想基本介绍