【干货】C++游戏外挂开发教程10:图色查找算法
文摘
社会
2025-01-02 00:11
广西
欢迎来到C++游戏外挂开发系列教程!
游戏外挂开发是一个既有挑战性又充满乐趣的领域,它让我们有机会深入探索计算机程序设计和系统底层原理。本教程将带领你从零开始,逐步学习如何使用C++编程语言开发游戏外挂,包括各种常见游戏中的作弊功能,如自动射击、透视功能、无敌模式等。通过本系列教程,你将了解到游戏外挂的基本原理、常见开发工具、技术挑战和实际应用技巧,为你打造成一名优秀的游戏外挂开发者提供全面的指导。
接下来要讲的是一些前期知识,我们会用到内存操作,而不是内存机器来进行。我刚刚写了一个算法,说实话,有点复杂,可能一开始看会让人头疼,但多看几遍就能理解了。关于这个算法,我们要讲的是点阵。再加上一个 D Word,点阵的长度要认识一下。Max 是指最大值,可能是 mad tricks 或者 mac tricks,我们找的就是这个。我们要找色点,对吧?我们首先要进入写模式,然后带进来。不过这个我们就不需要了,直接带进来就行。带进来的长度大概是雷的一半,他说出了这两个字节吧?除以二,他们所有的长度除以二,一个字节嗯,这个计算出它的大小了,然后我们再除以二计算出它的长度了。这个第三个题目就开始查找,填平,不用管了,暂停。然后写写,我们折腾了这么多天,就为了今天的这个东西,对吧?这个计算机视觉课程也是把我讲得有点皮,有点带卷,有点疲倦。第一排是 B Index,应该是 D5 的,是 word 吧。第一排的小标,一共是 121 个,对吧?找到之后我们判断一下,每次找到的时候就放松一下,嗯,这个就挺放松的。我写这个图形就很放松,对吧?这个很轻松的,一讲汇编我们就要严肃起来,对吧?英语,点灯下标,对吧?写个大循环,where 这是一个大平盘,对。然后如果你们不要老想着搞这个简单的事,那么男人就会做得更多,你才能进步,对吧?有的人就是喜欢去挑难的事情去做,有的人喜欢挑简单的事情做,做完之后人的结果是截然不同的,对吧?Will, stop,开始了自己的哎,小鱼,die info 比赛,I'm 对,哎呀这个是啥?我们要从整个屏幕上找,从第一个字节开始找,对吧?画个图啊,比如说这是我们的像素,画的有点不好看啊,这是我们的像素格。好,我们要从哪儿找?从这个地方找对吧?我之前说了一个问题,显存是从这个地方开始的,对不对?那我们要改一下,我改一下,我们要把这个我们要申请这个 div 的时候改成负号。这个改成负的,它就不是正的了,对吧?它是反的。如果改成负的,他不就正了,对吧?从第一个啊,那我们就开始从哪儿开始,对吧?从这儿开始吧,对吧?这个是什么?这个就是他所有的项目点,对吧?我第一关,七七在哪儿啊?那我们这个是吧,这个就是他的宽度乘以它的高度,那乘以四就是它的字结束了,对不对?喝口水啊,对吧?然后我们找啊循环,如果他第二我们先找每一个字节啊,我们先看第一个点啊,我们学的第一个点先看看正不正确,对不对?先看看他对不对啊,如果第一个点我们正确了,比如说我们在这那找到第一个点就在这儿啊,它正确了之后对吧,我们来做一些处理啊,如果 div 显存指针,哎呀这个血不好啊,不写了,我们边边边那个边讲边边一块一块的漏啊,一个地方,一个叫,对吧?什么意思啊?看一下啊,形成指针第一个点,第二个,看着这是第一个字节吧?这是第一个字节吧对吧,这是第二个字节吧,对吧?这第三个字节吧对吧,BGM 是不是?那我们这个点子我们这个点子我们大啊,我们小大于或小于等于它的这个下标,第二个是什么呀?诶我看一下加 2x index 加二是多少呀?这个应该是看一下小二来,八九十 2+2,3+4,加二就是我们的第一点也是对吧?不对,应该是这个啊,这个加二嗯加三,笑死对吧?这个是我们的 B 直接值二字对吧,这样的,嗯然后小于等于一直 G 值 R 值小于等于,嗯这个应该是测试啊啊这个是颜色纸吧,这个是颜色值。这是我们的值,嗯这个是我们带进去的值对吧,这个是我们带进去的值,然后这个是什么呀?这个是我们的这个本真的值啊,对不对啊?这个是,这是我我们带进去的是啊,嗯然后这个是什么呀?这个是我们本身的值啊,对不对?对不对?本身的值,嗯然后这个是什么呢?加 7+9 小时,我要把每一个下标搞懂了,把每一个下标搞懂过来,这个就是偏嗯,加 1+2 3,然后体积,哎呀加 2+3 加四,当时我写出来写出来,不然那么多,10 11 12 这一排的一排的这个颜色过来 123 对吧?这个是我们带进去的 B 压值,这个是我们需要找的 B R 值对吧?这个是原本的啊,这是当前屏幕的结对,加 2+3 也是也是这个也是我们带进去的,加 10+11 呃加 7+8+9,加 7+8+9 这个是什么呀?R 指向向上偏色 172 这个是向下对吧,1G ,是这个意思啊,这个就算出来了。匹配成功后,我们就需要计算找到的坐标了,对吧?嗯,匹配成功后,我们就要计算我们找到的坐标,对吧?那找到坐标在哪呢?当然,对吧?每行储存了多少个字节,我要算出余数,他余的余数是什么?余数就是我们最后一行的字节,对吧?比如说我们在这儿取的对吧,它的 x 坐标是多少?我们就把这个移出来,对不对?把这一块移出来,一出来之后就是它呃啊,然后 x 坐标啊,第一个点的 x 坐标等于除以四,没问题,这种问题吧。然后第一个点的 y 坐标等于多少?CSFC 减去最后一点,所以单行储存字典,这个我们就往我们我们的这个 y 坐标求出来了,对不对?然后呢,然后 return x 等于第一个点作用的就是一会要用啊,这个 ring 一会儿要用。如果我们只有一个,我们简称只有一点啊,我们要判断一下 memory。小鱼,你这下标,看看它小于 21 啊,小于或等于 21 啊,说明文说明只有一个点对吧,判断识别等于零,好放在这边等于一,然后返回一吧,返回一,然后返回坐标,返回的图标。哪儿去啊?回忆记忆点,我们直接返回来啊,我们直接就返回一啊,直接返回一嗯,过来返回。这应该是个,然后第一个等于找到我们找第二个点,对不对?小鱼,减去 21,那我们就继续循环吧,好然后下面就开始找了。这个如果说二算法看一下,我把这个直接带进来,直接带进来啊,21 过来,上次查找这个过来有小块找,我直接带进来,直接带进来,不然太浪费时间了。大概是什么个原理啊?我说一下啊。这个太浪费时间哪,这么写的话啊,这鱼特别长啊,它大概是一个什么原理啊,呃,这是这是匹配我们的第一个点是否符合规则啊,符合呃,我们的点赞对吧,第一个点在这儿对吧,如果说这个这个点复合了之后对吧,再做一些处理。这做一些处理啊。