19.x86游戏实战-创建MFC动态链接库

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:18.x86游戏实战-找角色人物名字

之前写过跨进程读写,这种跨进程读写的方式适合代码量少的程序,代码量多了就不合适了,适用代码量多的方式是注入方式,这种程序在这里先称为注入模式的程序,注入模式的程序无法独立运行需要注入(放)到别的程序里面才能运行,也就是要放到游戏里运行,然后既然是辅助,辅助要给人提供选择的界面,目前MFC动态链接库就比较符合比较方便,所以要创建MFC动态链接库项目

MFC是微软提供的面向对象的可快速实现Windows窗口的代码,MFC分exe版和动态链接库版,动态链接库(dll)是Windows系统提供的一种注入方式,就是WIndows系统已经实现好给程序注入dll的代码了,不需要我们写注入dll过程的代码,只需要按照Windows系统实现好的东西按照它的规则去做就好,我为什么知道Windows系统有这种东西?这是老师讲的

创建下图红框里的项目,然后点下一步,如果没有下图红框的东西,百度搜索 Visual Studio 安装MFC

然后选择静态链接到MFC的常规DLL,静态的代码编译的时候会直接把所有用到的东西放到dll里面,动态的它不会这样,这就会导致由于动态链接库不完整注入到程序里面出现问题,选择完点确定

然后第一件事是改成x86,这是因为要搞的游戏是32位的,如果搞的游戏是64位就选x64,选错了会出现问题

然后创建完项目可以会没有资源视图

这里点击 视图-》其它窗口-》资源视图,就会出来了,任何窗口没了都可以在视图菜单中找到

然后如下图鼠标右击选择添加资源

选择Dialog然后点新建

这样就会出现一个窗口了

然后给对话框添加一个类,鼠标右击窗口选择添加类

写一个类名,这里是DXXDlg,然后点确定,为了方便后面使用推荐与下图中的名字一致

然后会创建下图红框的两个文件,文件里的内容这里先不说,后面会细说

下图红框圈起来的函数是MFC动态链接库程序的入口

然后上面把窗口搞好了,但是怎么显示呢?这就用到给窗口创建的类了,看下方代码

c++代码

下图只是核心部分,完整代码在百度网盘

然后 OutputDebugStringA函数是打印日志的,它打印的日志有一个程序可以查看,叫做Dbgview.exe,要用管理员启动,这以及放到百度网盘里了

然后上方写好了dll代码,还有个注入没有,注入有写好的工具wctool.exe,也放到百度网盘里了,下图是它的界面,要用管理员启动

开始使用代码,首先点重新生成

生成完之后点击在文件资源管理器中打开文件夹

然后上方重新生成的文件在下图红框文件夹里

下图红框要找的文件

然后打开游戏,打开游戏之后按住下图红框,拖到游戏窗口里

然后就会有游戏的数据

然后点击导入DLL

然后找到上方写的DLL代码所生成的文件,然后点打开

然后点注入

然后可以看到日志与窗口了

完整代码

链接:https://pan.baidu.com/s/1W-JpUcGOWbSJmMdmtMzYZg?pwd=q9n5

提取码:q9n5

复制这段内容后打开百度网盘手机App,操作更方便哦


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/801708.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【智能算法改进】改进的麻雀搜索算法及其求解旅行商问题

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】麻雀搜索算法(SSA)原理及实现 2.改进点 改进发现者更新位置 为了使 SSA 算法能够避开向原点收敛的弊端, 将算法向最优位置跳跃的操作转换为向最优位置的移动: X i ,…

[Java IO] 流原理及流的分类

Java IO 流概念 Java IO(输入/输出)流是Java用于处理输入和输出操作的一种方式。 Java IO 系统主要基于流(Stream)的概念,流是一组有序的数据序列,可以是输入流(从数据源读取数据)或…

DP(4) | 0-1背包 | Java | LeetCode 1049, 494, 474 做题总结

1049. 最后一块石头的重量 II 和 LC 416.分割等和子集 类似 思路(我没有思路): 两块石头相撞,这里没有想到的一个点是,相撞的两个石头要几乎相似 以示例1为例,stones [2,7,4,1,8,1],如果从左到…

【学习笔记】虚幻SkeletalMesh学习(一)基础介绍

文章目录 零、前言一、资源介绍1.1 骨架资源1.2 骨架网格体资源 二、UE4中的定义2.1 骨骼数据2.2 模型网格数据 三、渲染3.1 RenderData的初始化3.2 渲染对象的创建3.3 渲染对象的更新3.3.1 游戏线程的更新(*FSkeletalMeshObjectGPUSkin::Update*)3.3.2 …

java 发送企业域名邮箱消息

目录 通过域名注册邮箱准备添加用户登录 通过java发送企业邮件pom.xml发送代码 企业为了推广本公司的知名度,系统注册邮箱时,发送验证码得邮箱,需要以域名为后缀 通过域名注册邮箱 首选拥有一个企业域名,本文默认大家都有域名 准…

浏览器缓存:强缓存与协商缓存实现原理有哪些?

1、强缓存:设置缓存时间的,那么在这个时间内浏览器向服务器发送请求更新数据,但是服务器会让其从缓存中获取数据。 可参考:彻底弄懂强缓存与协商缓存 - 简书 2、协商缓存每次都会向浏览器询问,那么是怎么询问的呢&…

家用美容仪维修图片记录

家用美容仪维修过程记录,宙斯,上图

JavaEE初阶-网络原理2

文章目录 前言一、TCP报头结构二、TCP的十个核心机制2.1 确认应答2.2 超时重传2.3 连接管理2.3.1 建立连接:三次握手2.3.2 断开连接:四次挥手. 2.4 滑动窗口2.5 流量控制2.6 拥塞控制2.7 延时应答2.8 捎带应答2.9 面向字节流2.10 异常情况2.11 补充 前言…

Java(二十)---双向链表

文章目录 前言1.为什么学习双向链表2.双向链表(LinkedList)的模拟实现2.1. 准备工作2.2.功能的实现2.2.1.显示链表(display) 和 是否包含某种元素(contains) 以及 获取链表节点个数(size())2.2.2.头插法(addFirst),尾插法(addLast),以及在指定位置进行插…

鸿蒙语言基础类库:【@system.brightness (屏幕亮度)】

屏幕亮度 说明: 从API Version 7 开始,该接口不再维护,推荐使用新接口[ohos.brightness]。本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import brightness from sy…

基于SpringBoot+VueJS+微信小程序技术的图书森林共享小程序设计与实现:7000字论文+源代码参考

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

ZBrush入门使用介绍——2、GoZ使用

大家好,我是阿赵。   这里介绍一下ZBrush的GoZ功能。 一、 GoZ工具的作用 GoZ工具,是一个可以把ZBrush里面的模型发送到别的软件,还有可以从别的软件把模型发送到ZBrush的工具。   暂时,GoZ支持Cinema4D、3D Studio Max、May…

Go Web开发框架之Gin

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

代码规范性

代码规范性 命名规范代码格式注释代码结构异常处理代码复用代码审查空格的用法代码示例 命名规范 ​ 1、变量和函数名:使用驼峰命名法(camelCase),如userName、getUserInfo。 ​ 2、常量:使用全大写字母,…

CompletableFuture异步编排

1.创建异步对象 CompletableFuture提供了四个静态方法来创建一个异步操作 public static ExecutorService executor Executors.newFixedThreadPool(10);public static void main(String[] args) throws ExecutionException, InterruptedException {System.out.println("…

mwwz库支持可视化每个特征点的匹配质量

支持获取每个特征点的匹配分数,同时支持擦除特征点。

数据库第6次作业

内容 1、创建视图v_emp_dept_id_1,查询销售部门的员工姓名和家庭住址 2、创建视图v_emp_dept,查询销售部门员工姓名和家庭住址及部门名称。 3、创建视图v_dept_emp_count(dept_name,emp_count,avg_salay),统计每个部门人数并计算平均工资。 …

【Datawhale AI夏令营】电力需求预测挑战赛 Task02

task02 Task2 版本教程将使用机器学习模型解决本次问题,模型使用简单,数据不需要过多预处理; 使用机器学习方法一般主要需要从 获取数据&增强、特征提取和模型 三个方面下手。 使用机器学习方法有哪几个步骤? 一般的使用机器…

摄像头 RN6752v1 视频采集卡

摄像头 AHD倒车摄像头比较好,AHD英文全名Analog High Definition,即模拟高清,拥有比较好的分辨率与画面质感。 RN6752v1 GQW AKKY2 usb 采集卡 FHD(1080p)、HD(720p)和D1(480i&am…

局域网内放开端口

欢迎使用Markdown编辑器 点击完成后,其他内网机器就可以访问了。