90.游戏安全项目-项目搭建与解析

news2024/12/23 19:34:46

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

内容参考于:易道云信息技术研究院

上一个内容:89.游戏安全项目-htdSdk安装

79.游戏分析工具闪屏问题优化与数据被修改高亮 这里面有注入器与外挂模块的实现(htdSDK的实现)

作为一个游戏安全项目最少要 包含一个注入器,包含一个外挂模块

注入器是用来把外挂模块跟游戏结合起来,游戏外挂相当于是给游戏加功能它不仅仅是破坏,破坏其实也是一种功能,通过动态链接库技术加载到游戏中,注入器就是一个动态链接库技术的实现,注入器也有一个很重要的东西,那就是收费比如说注册卡密

外挂模块主要是实现外挂的功能

搭建的项目也就是注入器和外挂模块这样的一个结构

首先创建一个下图红框的项目

这里用的名字是cheater

鼠标右击蓝色的红框位置选择新建项目

新建下图红框位置的项目

创建完的结构

htdSdk没有给Debug模式下的代码,所以要在Release模式下运行程序,然后设置一下项目依赖,cheater是注入器,注入器是依赖于dll的,如果没有dll注入器就没有什么用

设置依赖项

然后再把cheater设置成启动项目,因为dll是无法启动的只能通过注入器来启动

然后双击注入器的ui界面的 启动外挂 按钮,它会生成一段代码

双击完 启动外挂 按钮生成的代码如下图

代码写完之后编译完,只需要把下图红框的两个文件给使用者,其它的文件是代码的符号文件,有了符号文件会看到代码的注释和源码,如果给到使用者会被很轻松的破解我们的代码

通过窗口注入的方式:

首先打开游戏,打开游戏之后选择 Visual Studio 中的Spy++ 可以看窗口信息,

然后通过窗口搜索,点击下图中靠下的红框里的图标鼠标不要放开点击之后拖到游戏窗口就可以得到游戏窗户的信息了,可以看图1的效果

图1:把 Sword2 Window 复制到窗口注入函数的第一个参数中,然后把 Sword2 Class 复制到窗口注入函数的第二个参数中

代码:

注入之后按HOME键可以看到下图中叫 Dialog 的窗口了

入口点注入方式:

首先把下图红框的代码给注释掉

然后 启动外挂 按钮里的实现,要把之前窗口注入时打开的游戏关闭掉,这个游戏不支持多开

效果图:按HOME键弹出Dialog弹框

按HOME键可以正常弹出窗口那就说明项目搭建成功。

代码:

void ChtdExeDlg::OnBnClickedOk()
{
    /**
     InjectByWndHook函数是窗口注入:
      Sword2 Window是从Spy++里得到,这是窗口的名字(标题)
      Sword2 Class是从Spy++里得到,这时窗口的类
      dlls.dll是dlls项目中编译出来的dll文件
    */
    //htd::INJECT::InjectByWndHook(L"Sword2 Window", L"Sword2 Class",L"dlls.dll");

    /**
    * InjectByEntry函数是入口点注入
    *    第一个参数是游戏可执行文件的目录
    *    第二个是游戏目录
    *    第三个是启动游戏的命令行参数
    *    第四个是外挂模块的目录
    */
    htd::INJECT::InjectByEntry(L"C:\\Users\\am\\Desktop\\易道云\\游戏保护\\练手游戏\\初级\\JX2\\Sword2-1920-window2_ui.exe",
        L"C:\\Users\\am\\Desktop\\易道云\\游戏保护\\练手游戏\\初级\\JX2\\",
        L"",
        L"F:\\代码存放地\\c\\Sword2_Cheat2\\Release\\dlls.dll");


    // TODO: 在此添加控件通知处理程序代码
    //CDialogEx::OnOK();
    /*htd::INJECT::InjectByEntry(L"F:\\Games\\JX2\\Sword2WindowsA7.exe",
        L"F:\\Games\\JX2\\", 
        L"", 
        L"F:\\Program Design\\课程代码\\htd\\Release\\htdMfcDll.dll");
    */

    //htd::INJECT::InjectByWndHook(L"Sword2 Window",L"Sword2 Class",L"F:\\Program Design\\课程代码\\htd\\Release\\htdMfcDll.dll");
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

权力迷宫:皇权、律法与人性的深度博弈

权力迷宫:皇权、律法与人性的深度博弈 - 孔乙己大叔在人类社会的复杂织锦中,权力与律法的关系往往呈现出一种微妙而深刻的悖论。律法,这一社会秩序的基石,常被视作维护公正、约束行为的利器,然而,在金字塔的…

深度理解指针(5)----指针完结

hello,各位小伙伴们我们现在已经对指针有了深刻的理解,指针来到了收尾环节!让我们来做几题例题来复习之前学习的内容吧! 最近爆火的黑神话悟空不知道小伙伴们体验了没有,小编对八戒还有蜘蛛精的凄惨爱情深深打动特意找…

Springboot使用Mongo数据库实现文件的上传下载预览等服务接口

MongoDB GridFS 简介 MongoDB GridFS是一个用于存储和检索大型文件的规范,它允许在MongoDB数据库中存储超过16MB的文件,如图片、音频、视频等。GridFS通过将文件分割成多个小的chunk(文件片段),每个chunk通常为255KB&…

记URL重定向漏洞骚技巧

0x1 前言 这几天跟着我那几个师傅们在学习URL重定向漏洞,学习了比较多的对于这个漏洞的骚技巧,以及在挖掘edusrc漏洞和企业src相关的URL重定向漏洞时的一些技巧和不错的思路。 最近在跟我那几个师傅们研究学习URL重定向漏洞,然后在一些厂商…

EHS综合管理解决方案落地:管理效率飞升70%!

所有制造企业都面临着一个问题:如何保证EHS制度高质、高效执行?——上海斯歌EHS综合管理解决方案应运而生。 前不久,上海斯歌EHS综合管理解决方案(企业安环综合管理解决方案)在某全球领先的汽配公司成功落地&#xff0…

安灯系统在汽车电子工厂应用案例汇总

在汽车电子工厂中,高效的生产管理和及时的问题解决至关重要。安灯系统作为精益制造执行中的核心工具也是 MES 制造执行系统的重要组成部分,为汽车电子工厂带来了显著的效益。安灯系统是一个面向制造业生产现场,快速联络生产、物料、维修、主管…

VSCode中TypeScript调试配置

一、背景 最近想用TypeScript编译项目,在创建完项目后,我发现VSCode只有在调试TypeScript的单个文件时生效,如果存在引用,再进行断点调试,则调试功能不生效了。 随后,我让Chatgpt 生成一个一套配置&#…

C语言基础(二十五)

栈排序不是最高效的方法,因为栈是一种后进先出(LIFO, Last In First Out)的数据结构,而排序要求根据元素的顺序(如升序或降序)重新排列。但是,可以利用栈的特性,结合其他排序算法的思…

group by 中一定要包含 select 中的 除聚合函数以外 的 所有字段

今天在项目过程中报错: ### SQL: SELECT UNIT_NAME,dc.CAPTION as area,ifnull(a.bgSum,0) AS bgSum,ifnull(concat(FORMAT(a.bgSum/k.m*100,1),%),0.0%) as bgRatio FROM inspection_station_info isi left join dic_content dc on dc.CODE_VALUE…

K 线图快速绘制教程:使用 KLineChart 展示 DolphinDB K 线

KLineChart 是一款开源、简单易用、适用场景丰富的 Web 前端金融图表,基于 html5 canvas 构建,零依赖压缩包仅 40K,非常轻量。它可以用于渲染金融 K 线图,同时支持多种数据源,提供了丰富的交互功能以及指标计算接口。由…

动物消消乐:Scratch消除类游戏作品

小虎鲸Scratch资源站-免费Scratch作品源码,素材,教程分享平台! 体验《动物消消乐》,开启欢乐消除之旅! 在这个快节奏的时代,放松心情、享受乐趣显得尤为重要。小虎鲸Scratch资源站为您带来了全新的游戏体验——《动物消消乐》。这款游戏不仅…

【CTF Web】BUUCTF Upload-Labs-Linux Pass-01 Writeup(JS分析+代码审计+文件上传)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的…

上班摸鱼的人怎么治理?只要5个步骤让员工服服帖帖,打造干净职场

在职场中,我们时常会遇到一些同事在上班时间“摸鱼”,比如浏览与工作无关的网站、玩游戏、聊天等。这些行为不仅影响了工作效率,还可能损害团队的整体氛围和企业的利益。那么,如何有效地治理这种“摸鱼”现象呢?今天&a…

鸿蒙ArkTS小案例-购物车

最近用鸿蒙的ArkTS做了一个购物车的小案例,在这里分享一下,该购物车已实现如下功能: 1. 购物车商品数量支持1个或者多个 2. 勾选1个或者多个商品后,底部可以动态计算出购买总数量和总价格 3. 同时,可以对购买商品的…

SpringBoot对接Midjourney Api

提示&#xff1a;SpringBoot对接Midjourney Api 文章目录 目录 文章目录 后端代码 导包 controller层 工具类层 前端代码 申请API 测试结果 后端代码 导包 <!--添加hutool的依赖--><dependency><groupId>cn.hutool</groupId><artifactId&g…

IoT客户端+联邦学习微调大模型

大型模型的训练涉及到微调&#xff0c;微调则面临着高质量数据的稀缺性。与基于集中式数据中心的解决方案相比&#xff0c;物联网-IoT中大型模型的更新面临着分布式客户端私有且异构数据的协调挑战。为了解决这一挑战&#xff0c;作者提出了KOALA来推动物联网中大模型的训练。由…

单线程Redis:Redis为什么这么快

1 Redis是不是单线程 Redis 使用后台线程执行耗时的 I/O 操作&#xff0c;以免阻塞主线程 bio_close_file&#xff1a;后台 I/O 线程之一&#xff0c;异步关闭文件 bio_aof_fsync&#xff1a;后台 I/O 线程之一&#xff0c;异步地将 AOF&#xff08;Append Only File&#xff…

C++系列-STL容器之vector

STL概念 vector基本概念vector与数组的区别vector容器的特点动态大小连续存储自动扩容尾部操作高效 vector动态扩展的含义vector常用的接口示意 vector的构造函数vector赋值操作重载赋值assign赋值 vector的容量和大小vector的插入和删除vector数据存取vector互换容器vector互换…

音视频入门基础:WAV专题(7)——FFmpeg源码中计算WAV音频文件每个packet的size值的实现

一、引言 从文章《音视频入门基础&#xff1a;WAV专题&#xff08;6&#xff09;——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道&#xff0c;通过FFprobe命令可以显示WAV音频文件每个packet&#xff08;也称为数据包或多媒体包&#xff09;的信息&#xff0…

VMware16安装包+详细安装教程

VMware Workstation Pro16.0安装 安装包下载&#xff1a; 通过百度网盘分享的文件&#xff1a;VMware16.0.rar 链接&#xff1a;https://pan.baidu.com/s/1ZSWns5kJYUmhpZFjuKXqrQ?pwdv7s2 提取码&#xff1a;v7s2右键解压之后的安装包【VMware-workstation-full-16.0.0-16…