【干货】C++游戏外挂开发教程16:抠取寄存器

文摘   社会   2025-01-09 00:00   广西  


欢迎来到C++游戏外挂开发系列教程! 

游戏外挂开发是一个既有挑战性又充满乐趣的领域,它让我们有机会深入探索计算机程序设计和系统底层原理。本教程将带领你从零开始,逐步学习如何使用C++编程语言开发游戏外挂,包括各种常见游戏中的作弊功能,如自动射击、透视功能、无敌模式等。通过本系列教程,你将了解到游戏外挂的基本原理、常见开发工具、技术挑战和实际应用技巧,为你打造成一名优秀的游戏外挂开发者提供全面的指导。

上期教程有些同学可能对知识还不够透彻。这一期咱们要认真学习,因为在实战中,理解至关重要。本期我要来再解释一下游戏概念。

在我们开始之前,我们使用了一些技术手段,比如一些辅助工具、程序设计工具、初始变量引用、静态变量引用等,以及模块的初始分配数据。通过程序设计,可以轻松地找到一个应用程序的基础,而无需花费大量的时间,并且程序设计人员必须能够从程序中找到有用的信息。

这项任务虽然很艰巨,有些游戏数据结构可能会比较复杂,比如红黑树、链表等,这样就会增加我们找到游戏数据的努力。因此,我拒绝了一种更通用的方法,我们可以获得什么样的数据。这个方法就是取值法。

该计划的目的是确定程序数据,然后获取程序代码,并改变程序执行情况,以便我们能够发现程序执行过程中存在的问题,并向程序管理员传递正确的生命值。

在团队分离的特定情境下,我们需要构建一个理论。当代码执行到这一点时,我们需要写入一些指令。这些指令的目的是引导代码的执行流程。通常情况下,代码会继续向下执行。然而,当执行到某些关键点时,我们需要改变代码的执行方向,将其导向我们所需的路径。

这涉及到一些高级技术,并且需要小心处理,以避免游戏崩溃的情况发生。我们通过实践来验证这些理论,获取所需的数据,并在必要时返回到先前的执行状态,以确保游戏流程不会中断。虽然这些操作可能有些复杂,但是在处理好的情况下,游戏将能够顺利进行。

关于数据转换的问题,确实是一个挑战。我们需要了解数据的加密方式,以便将原始数据转换为游戏中所需的格式。这可能涉及到各种数学运算,例如加减乘除等,但具体的加密方式可能会因游戏而异,需要我们进行进一步的研究和分析。

这个游戏并没有我最初想象的那么复杂。坐标数据采用的是Unicode编码,我们需要解析它。首先,我们检查板块,确认是否有20个。然后,我们检查当前坐标,并通过for循环查看其长度,通常是八个字节。我们打印这些数据,并按照指定格式输出。然后,我们将数据复制到字符数组中。但是,有时会出现编码问题,如果使用的是ASCII编码,而不是Unicode,我们需要进行调整。一旦我们获得了数据,我们可以进一步进行操作,比如进行路径查找等。这是一个繁琐的过程,但通过一些技巧和实践,我们可以应对这些挑战。
关于数据的转换问题,我们需要考虑Unicode编码的转换。Unicode编码相对于ASCII有更多的字符表示,但是在不同平台上的处理方式可能会有所不同。在Windows平台上,我们需要特别注意Unicode编码的处理方式。对于数据的打印和转换,我们需要使用适当的方法来确保数据的准确性和一致性。如果出现了编码错误,我们需要及时发现并进行修复,以避免程序出现bug。

我们来到了地址100511a,对吧?这是我们需要关注的地址。我们可以推断这个dx可能是一个负值,对应着坐标的某个方向。接下来是下一段代码,游戏没有断开连接。但当我们走路时,游戏却断开了连接。断开后,我们需要在数据中找到数字,然后显示文本。但有时候,我们找不到这些信息。尽管如此,我们可以确定的是,edxi是坐标。第一个值是三幺,我们可以以此判断位置。dx39的第一个是负责单独的板子,但这段代码似乎有些多余。安德斯可能会得出结论,我们可能需要在后台进行一些修改或复制。

我看看这段代码可能是Hook写的,或者是他复制的。我们看一下ebi,这不是有一个dd吗?将edxi复制到edx,然后将dx复制到这里。我们过来之后,该怎么办呢?我们可以尝试找到机器的方法。我们现在尝试找机器,按edxi。走路。好,然后是来源于哪里?edxi来源于bx eb edi来源于bp加0x8。对,就是这个值,它就是我们的坐标。断一下。重新搜索bp eb edx,查看是否有。好了,没有抑郁就好了。那么edp加减个什么呢?我们已经看到了bp加的四,然后是bp加的12。这是函数参数。

函数参数是从外部传递进来的。bp加的12再加上10可能是第三个。好,我们现在怎么做呢?要退回去,然后下一段,然后走路,断下,然后他们家有挂,直接在直行道返回。然后按一下f8,第二个框,我们一看他是party的,最后一个参数是edx,对吧?还是下一段好。先把断点全部取消了,回到代码,跑去了哪?pc edx。我们看edx是不是走路,好了,edx再往上走。我就不教你们找了,这么早肯定会找到机器,然后运行。这不是我们的重点,下期教程我们可以来讲一下机器的找法。

比如说,我们这个int就是一个pass,那么,我们可以说,int啊,这个啊是最后一个爬行的。如果说这个函数传进来,我们可以说啊,这个nt就是pass,就是这个bp减啊,ebp加八啊,我们可以这么说啊。然后找了,对吧?我们这下了断点之后,走路会断下来吧,对不对?走路断下来之后,我们可以在这儿反,我们在这再反啊,然后也可以在这看对战啊,但是这些都不是最准确最准确的。我们是直接用返回啊,直接用返回。
返回到这之后,这个就是刚才要用数字坐标的函数,然后我做复制之后还出来,我说了最后一个胖子就是1d,对不对?然后在edx再往上走,edx是这样,没有啊,他又是外边又是另外一个函数,又是外边传进来的,edx又是外边传进来一个,我们可以找,又是外边传进来的好,那么他就是在这儿了啊,又是在这样的dx还没有,我看下有没有,还没有,他还在外边一层啊,还在外边一直往回走啊,一直往回走。
找基础太麻烦了,是不是找基础太麻烦了?是不是感觉有点难啊?没事没事,有点难啊,就找感觉嘛。通过我们这个内存库一直讲,最终我相信大家都会理解。我们开始写了,开始写hook了,hook写在哪?写在第二名,这里啊记住,然后在这里破写一个box,这就写一个合法啊,我要先创建一个界面,先创建一个界面,创建一个晚点来,这个打印界面是属于游戏,然后在这里写一个后台函数,完成后再写一个PK寄存器,三个t318 tdx dd沃。先把寄存器定义一下啊,然后ecx下面是什么?
ecx然后edx,然后11s7 esp过来,ebp过来是什么?esi edi,对不对?32位程序的八个通用寄存器,还记得八个冲浪,这里对吧?hook寄存器,然后霍格之后,我们要团第一个值lp word,mp word就是一个指针空指针,霍克地址或地址,我们霍克哪一个地址,后不管我们要hook哪一段地址,有没有同学知道hook哪一段地址,看这是代码地址,我要获得100051d8或者1000,比较低吧,稍微看一下,这对也错了,不是hook,这hook这错了,Hook证货可证,或可1a吧,或可1a,是这样的,我们获得进来啊,我们把这hook也不行,hook 17啊,hook 17 1005117啊。

当代码执行到10005117的时候,我们怎么改呢?先把这个地址破解,OK,有没有同学知道?不是打一个17吗?我们就把这个字节改了,对不对?改个醒目过来,改完键后,我们再下一单机,这是我们下的代码要跟着被改了。跟着被改了,跟着被改。

改之前,先要把这个代码移植到这啊。比如说,我们要改什么呀?先过来行啊。执行到这的时候,我们申请一个钩子空间。申请钩子空间,对吧?申请空钩子空间呢,我们就可以在钩子空间里面运行这两段代码啊,运行这两段代码之后呢,我们再在钩子空间里面复制,然后再复制,再写梦,再醒目对吧,然后再醒目。目录到哪啊?我们八个通用就存序,八个通用寄存器,寄存器,寄存器啊,通用八个计时器。

然后复制了之后,我们还要再下来开启一段空间,对不对?再写将补,再写返回将补,这些返回将母对不对?这些范围降五,写了范围,降五之后无法回返,回到这儿来访问。我们获得的时候继续运行,对不对?返回后台地址继续运行,都是下面的干嘛?他就错了。那我们写在这下面的代码就run了,对不对?相约转码就run就run了。所以在写之前,我们还要把这个这下面的代码写成logo,这把稍微的段落写的都不,写成loop。

这个就是原理以及思路,但是实践起来必须非常严谨啊,非常严谨。这个还是必须非常有用的,一点输出啊,游戏游戏游戏崩溃,你一直在游戏肯定就崩溃了。然后过来,然后BT传递出来,传递代理,代替执行。代替执行编码,然后代替执行编码的长度,代理执行编码,就是我们这个地方这两个东西。这两个东西代替执行了,不是我们我们代理代理,他执行代理他执行说代理的代理资金编码,但是我们在这个里边,我们在这里在这里面代理他执行。

在这个里面,在他执行之后,我们帮他执行,不然不帮他执行肯定崩崩。首先获得这个距离,其实我们可以用指针直接写啊,我们可以用指针直接写,我们可以用纸人直接直接直接按那个指向指向负责啊,但是为了兼容性,兼容性可以怪物,可以以后扩展外部形态,我们用Right。用一个API啊,用一个API Right,Right怎么写的?Right Process Memory,这个API怎么写入虚拟的,例子啊,写日记里啊对吧?好先得到先得到当前句柄函,第八个左右SIC等于 Current Process,这个片是干什么,这个要获取当前距离获取,对好,然后给你拜个MOD代码,那个代码用代码是要申请多大啊?不行,有没有同学知道申请多大,快快想一下骆驼代码申请多大呀?想一想我们申请多大陆的代码,不是这个和打开进程不一样,这个不是打开进程,打开进程是另外一个API。



暮色的狐
这是一只高强度上网冲浪、高质量输出内容的狐狸。主打ACGN杂谈、技术干货分享、第九艺术鉴赏、网梗百科解析、情感树洞鸡汤、正能量价值观~
 最新文章