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代码所生成的文件,然后点打开
在注入之前需要设置一下Dbgview.exe,如果不设置会有很多日志,看起来不是很友好,我们代码中OutputDebugStrin函数打印什么下图红框里就写什么
下图红框里的是开始或关闭监视,关闭了监视就看不到东西了,这里的东西被称为日志,关闭了就看不到日志了
下图红框的是清除日志
监视菜单里的内容,选项与下图一致就可以
然后点注入
然后可以看到日志与窗口了
完整代码
链接:https://pan.baidu.com/s/1W-JpUcGOWbSJmMdmtMzYZg?pwd=q9n5
提取码:q9n5
复制这段内容后打开百度网盘手机App,操作更方便哦
原文地址:https://blog.csdn.net/qq_36301061/article/details/140449993
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!