
游戏逆向
本系列文章旨在从零开始学习游戏辅助的工作流程和开发方法,了解游戏背后的攻防对抗手段,重点侧重数据和call的追踪查找。
侧重方向在于学习整个分析过程以及思路方法,最终实现的效果和游戏不是关心的重点。
涉及到的技术有:
C/C++ windows编程 汇编语言
没有上述的前置知识建议劝退
鬼手56
代码搞起来还是很轻松的,就是头有点冷
展开
-
012 分析技能冷却二叉树
文章目录前言技能冷却二叉树获取技能名称总结前言学习完了最常用的数据结构,我们再来分析游戏中其他的功能,尽量将游戏中的所有数据分析完全,为后面的实际应用积累经验。对于RPG游戏来说,技能数据是必不可少的。这次我们就来找技能相关的数据。技能冷却二叉树想要找到技能相关的数据结构,可以有很多突破口,比如技能名称,技能ID,技能冷却时间等等。以技能冷却时间为例,找一下当前的技能数据。首先找到一个...原创 2020-05-01 12:44:50 · 2234 阅读 · 1 评论 -
011 数据结构逆向—二叉树
文章目录前言背包数据嵌套结构背包二叉树二叉树分析背包数据结构分析总结前言学习完了链表的数据结构,我们再通过幻想神域了解一下二叉树在游戏中的存储形式。这一次要逆向的数据是背包中的所有物品,为了能将背包中的数据尽量分析完整,这个游戏建议尽量升到20级。会送两个背包扩展券,背包越大数据越多,能够分析到的数据越完整。我这里是有两个背包扩展券。,一个20格扩展卷,一个5格扩展券。背包数据嵌套结构...原创 2020-05-01 12:35:48 · 1367 阅读 · 0 评论 -
010 数据结构逆向—链表
文章目录逆向周围对象链表总结之前我们已经通过人物的血量找到了人物的属性数组,接下来学习一下链表。逆向周围对象链表这一次要找的目标是人物周围的对象链表,包括人物周围的NPC和怪物等等。找这个数据结构的突破口有很多,可以通过人物本身,也可以通过NPC和怪物。这里还是以人物血量为突破口,之前我们已经用人物血量去找到了属性的数组,但是同一个突破口通过不同的访问代码可以逆向分析出不同的数据。和之...原创 2020-05-01 11:39:34 · 1694 阅读 · 1 评论 -
009 数据结构逆向—数组(困难版)
文章目录前言数组逆向通过人物血量查找人物属性调call取对象call内追局部变量逆向加密数组下标分析人物属性总结前言通过之前的分析,我们已经对数组结构有了一个简单的了解,这次就用幻想神域这个游戏来更加深入学习数组。数组逆向通过人物血量查找人物属性以人物血量为切入点,我们要找到所有的人物属性。首先搜索当前人物血量接着通过换装备的方式修改人物血量,最后剩下两个结果,一个是当前血量,一...原创 2020-04-25 12:10:27 · 1037 阅读 · 3 评论 -
008 数据结构逆向—数组(简单版)
文章目录前言逆向背包数组一维背包数组二维背包数组数组结构分析总结前言对于游戏逆向来说,核心需求其实就只有两个追踪游戏数据定位游戏功能call对于追踪游戏数据来说,单纯从一个寄存器或者内存往上追踪到这个数据的基址是较为简单的,难点在于如何通过这一个数据,找到整个数据结构。这里先抛出三个问题对于人物背包来说,可以通过背包物品的数量所在的地址追踪到基址,但是怎么通过物品数量找到整个背...原创 2020-04-20 22:37:35 · 989 阅读 · 1 评论 -
007 封包式游戏功能的原理与实现
文章目录前言封包式功能的实现步骤定位发包函数三大发包函数重写发包函数线程发包线程发包的形态和特点条件断点筛出心跳包线程发包的传参方式跳出线程发包定位加密封包内容线程发包总结定位明文发包函数定位封包加密call定位封包加密call封包加密call参数分析复制封包加密函数调用函数实现功能前言游戏外挂按制造难度总共分为下面三类:模拟式:通过调用Windows API来控制鼠标键盘等,使游戏中的人...原创 2020-04-19 20:41:47 · 2127 阅读 · 1 评论 -
游戏检测的对抗与防护艺术
文章目录前言通过send函数定位吃药call变量检测构造检测程序处理变量检测call的检测原理查找检测变量变量检测处理堆栈检测堆栈检测原理 基于本地堆栈检测原理 基于服务器处理一层堆栈检测处理多层堆栈检测CRC检测什么是CRC检测构造CRC检测处理CRC检测数据检测数据检测原理构造检测程序数据检测处理总结前言从游戏外挂的利用角度来看,外挂的行为无非有如下两种:修改游戏的关键数据和代码:属于...原创 2020-04-11 20:45:58 · 3469 阅读 · 4 评论 -
005 定位控件输入call
文章目录什么是控件输入call定位控件输入call定位字符长度通过字符长度定位控件输入call什么是控件输入call当我们想要在游戏里进行喊话和聊天的时候,需要在游戏内置的控件里输入相应的内容,这个往控件输入内容的call就叫控件输入call。定位控件输入call以游戏的账号密码输入框为例,来找这样一个控件输入框。当我们在输入字符的时候,这个call会在内部改变当前的字符长度,字符长度就可...原创 2020-04-11 14:36:02 · 1172 阅读 · 0 评论 -
004 两种方法找寻路call
文章目录关于寻路call通过参数找寻路callCE搜索寻路目的地坐标通过参数定位寻路call寻路call参数分析寻路call代码测试寻路状态找寻路call搜索寻路标志位通过寻路标志位找寻路call关于寻路call寻路call在大部分的游戏里都是存在的,游戏的策划为了用户体验,一般都会自带寻路的功能,可以一键自动让人物到目的地。但是也有一些游戏不包含寻路call,那样的游戏就需要我们去找一些地...原创 2020-04-11 14:34:31 · 3844 阅读 · 0 评论 -
003 通过内存关系找万能按键call
文章目录什么是万能按键call切入点CE搜索背包状态通过内存关系找万能按键call万能按键call参数分析总结什么是万能按键call当我们在游戏中敲击键盘的按键时,游戏会对键盘事件会做出响应,去执行某些功能。以口袋西游为例,按B键会打开人物背包,通过B键打开背包的这个call就是万能按键call。只要找到这一个call,就相当于找到了所有的按键call,因为剩下的所有的快捷键功能都会走这一...原创 2020-04-11 14:17:23 · 3274 阅读 · 2 评论 -
002 通过send断点分析功能call
文章目录游戏发包流程分析吃药call分析换装备call总结游戏发包流程对于网络游戏来说,发送数据包是必不可少的一个环节,无论是走路还是喊话或者是其他功能都需要通过发包函数向服务器发送数据包。以技能call为例,整个流程大致如下:接收到用户消息(键盘按下技能快捷键)调用技能call调用技能call2调用技能call3组装数据包对数据进行加密send发包技能call会有很多个...原创 2020-04-11 14:14:33 · 1469 阅读 · 1 评论 -
001 从人物血量学习数据查找
文章目录前言游戏选择与环境搭建查找人物血量查找血量基址第一条线(简单)第二条线(一般)第三条线(困难)总结前言本系列文章旨在从零开始学习游戏辅助的工作流程和开发方法,了解游戏背后的攻防对抗手段,重点侧重数据和call的追踪查找。侧重方向在于学习整个分析过程以及思路方法,最终实现的效果和游戏不是关心的重点。涉及到的技术有:windows API Hookdll注入汇编语言软件逆向...原创 2020-04-11 14:10:44 · 2117 阅读 · 8 评论