绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

我学习逆向工程2年多了,调试过很多软件和游戏。 前段时间我遇到了麻烦。 我看到盒友讨论最多的就是“插件”。 我也想谈谈我的经历。 我会尽力谈论它。 由于水平有限,有不当之处还请盒友批评指正。

1、插件原理及对策

由于FPS追求快速响应以满足游戏体验,很多关键数据都存储在本地,因此“外挂”程序可以逆向查找这些数据的内存地址(即基地址和偏移量),从而达到修改FPS的目的。记忆。 。

而开发者在编写游戏程序时,会将这些数据声明为结构体(),比如角色属性。 这是一个结构体绝地求生透视,里面包含了血量、坐标、速度等,该结构体的指针就是基地址。 通过基地址和偏移量相加就可以轻松得到数量、坐标等数据,而且基地址在程序编译的那一刻就已经固定了。 无论在哪台计算机上运行它都不会改变。 只能重新编译了。 变化时有发生,所以一旦游戏更新,“秘籍”也得更新。 一旦找到了存储数据的地址,就可以通过对该地址进行读写操作来改变游戏内容,比如加速、锁血等。 透视原理也很简单。 找到角色坐标的地址后,就可以使用外部绘图(常见的d3d9、dx11、imgui等)进行屏幕坐标转换,实现游戏屏幕上的框架或骨骼的透视效果。 当然,还有一种内部dll注入的方法。

以上都是在游戏没有保护的情况下很容易实现的,但是目前大多数网络游戏,包括绝地求生,都有很多游戏保护。

①驱动保护,这是反调试保护,它会导致很多逆向工程软件无法正常附加游戏,找不到数据。 当然,现在有专门的游戏驱动保护,可以轻松调试游戏;

②第三方反作弊。 目前比较著名的第三方反作弊系统有BE、EAC、TP等,绝地求生采用的是BE反作弊系统,主动攻击性较强(当然与国内TP相比,太弱了) ,BE可以有效防止未授权程序非法读取游戏内存并在关键代码段钩子处检测到。 因此插件会通过驱动进入R0层读写数据,与插件程序进行通信。 BE 还区分版本。 绝地求生使用普通版本,逃离塔科夫使用BE高级定制版本。 因此,《绝地求生》的BE很容易被绕过;

③功能检测,这个是对游戏自身代码的检测,比如验证数据是否被改变,是否有第三方窗口覆盖等。由于绝地求生的BE比较容易绕过,所以大部分ban都是目前已被开发商禁止。

当然,在实际工作中,技术对抗远没有上面所说的那么简单。 技术对抗也永无休止。 作弊与反作弊的斗争可能会因硬件升级而消失,但在可预见的将来,作弊手段无法从技术上从根本上消除。

建议:①增加游戏成本,增加作弊成本;

② 使用更高级别的第三方反作弊系统,例如EAC或TP;

③ 不时远程更新游戏,完善数据加密方式。 目前,蓝洞的前两点并不容易实现,因为这会影响它的收入。 从经济角度来看,98的价格非常合理,很吸引人购买。 至于第三点,我想说,只要勤奋,就不会有什么大问题。

2. 如何判断玩家是否使用过作弊软件

据我所知,目前绝地求生的插件类型有很多种。 基本的是透视自瞄,比较变态的是跟踪穿墙飞车,稍微轻一点的有热透视、无后座、分屏雷达、压枪等。 芯片等。识别这些穿墙追踪的变态插件很容易,但是透视自瞄准呢? 如果别人的演技更好,你怎么知道?

① 自我瞄准最大的特点是枪跟踪。 自我瞄准是通过API函数mouse-event来实现的。 枪的追踪非常准确。 鼠标中心的移动是根据屏幕像素来计算的,就好像粘在敌人身上一样,所以除了一些职业玩家或者确实是大师之外,普通人确实很难做到。 即使是职业选手也不可能每次都失手,而自瞄则可以保证每次都不失手。

该怎么办? 游戏检测枪械中的钩子、角色数据段和调用CALL的代码段,隐藏链表,禁止作弊者。 还可以像现在一样添加手动检测。 说是人工检测,其实是人为操作异常检测,利用系统功能进行劫持。 鼠标的运动轨迹很有规律。 如果发现大量非常有规律的鼠标移动数据,基本可以判断为自瞄。

②透视,包括绘图透视、分屏雷达、热透视。 除非他不演戏,否则演戏的时候真的很难发现。 目前我还不知道如何发现游戏行为中的纯视角玩家。

该怎么办? 绘制透视图其实很简单,扫描窗口句柄和特征或者截图检测,实现角色坐标的多层加密。 分屏雷达怎么样? 在数据包中添加一个心跳包,它是一个不规则的心跳包。 如果发现数据包被劫持,则判定存在分屏操作。

③压枪芯片,这个是讨论最多的一种。 压枪有两种类型。 一种是通过改装带有重定向驱动器的pak实现的后座无座型。 特点非常明显,上下幅度最小,左右无偏移。 无论什么情况,各种放大倍数的镜头几乎都是一分一毫。 当然,没有后座,目前很难发现,也容易封号; 另一种是具有图像和颜色识别功能并与微控制器相结合的硬件压枪。 常见的有飞来、易键盘和鼠标等,压枪效果不是很理想,但稳定。

压枪宏芯片怎么办? 目前没有好的解决方案,不是出于技术原因,而是出于法律原因。 国外游戏公司虽然会对个人电脑流程进行扫描,但并不彻底。 可以像企鹅工厂一样,在内核层进行扫描。 如果发现异常进程,请立即上传至服务器。 。

我只是因为时间原因才写这篇文章。 如果你有兴趣的话,有时间的话我再多聊聊。 游戏本身很好玩,但是作弊真的很无聊。 另外,BE和开发者绝对不会误封号,也不会封号所谓的其他乱七八糟的软件(因为如果不是专门用于绝地求生的软件,是不会获取游戏进程和句柄的) 。 只要你的账号一直被你使用,只要出现BE或者开发者,就一定是你作弊或者用这个账号作弊的。

最后,欢迎大家和我一起组队。 我是个坏人,但我很有趣。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

《绝地求生》在中国未上线。 除了玩天美和光子工作室的《绝地求生》和《全军出击》之外,玩家还有一个选择,那就是网易的游戏《利刃出鞘》。 玩过这个游戏的人都知道,它刚刚发布。 账户里通常有80%的电脑,这确实没什么意思,但这款游戏最大的诟病仍然是游戏最大的对手——“挂机”。 小编今天讲的挂在这个界面中就可以清晰的看到。 ,小编今天也用了一个,只是为了测试一下。 今天我们就来说说荒野行动的混乱。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

进入游戏界面后,我们可以看到角色旁边的瞄准显示。 这是通过鼠标滚轮控制的,包括头部和胸部。 简而言之,就是上图中我们看到的选项F3的锁定自动瞄准。 一般而言,是不需要压枪的。 子弹选择的部分将是追赶他的部分。 然而,这不是子弹追踪。 可以说是非常恐怖了。 不需要瞄准,直接射击即可。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

当我们进入游戏时,所有玩家都在我们的视野范围内。 这种挂机之前已经被屏蔽过一次了,不过现在还是可以用的。 只要点击鼠标左键(射击键),所有玩家都会站起来,但是被打的人还是自己的状态,所以在这个悬挂面前,你不能趴在窗户下或者上面的地上。阳台。 如果有人向你开枪,你就会被拉起来打死。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

然后我们就进入游戏了。 可以看到选择F8项目可见性后,可以看到一定范围内的所有东西。 其中,车辆等大型物品可以在很远的距离看到,通常在四百米以内。 它不仅向玩家展示物品,而且物品与你之间的距离也一目了然。 免责声明:小编没有玩过这个游戏。 我只是为了这篇文章才尝试的绝地求生自瞄,所以希望玩家们不要批评我。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

除了一些物品的距离显示之外,我们还可以看到游戏中的其他玩家。 一般情况下,你可以看到400米内的玩家,并且你和她之间的距离也会显示在玩家上。 如果玩家多了,你周围的中间红线就会像一开始一样有很多条线。 由于是角色视角,所以你可以清楚地看到玩家的所有动作,例如他何时被治疗或何时拿枪指着。 往哪个方向等。

绝地求生透视 学习了2年多的逆向,调试过许多软件和游戏

小编最后的体会是,借助这样的神器,拿下吃鸡太容易了。 如果最后一轮只剩下几个人,你的优越感会更好。 如果你拿着狙击枪,大多数情况下,都是一次一枪。 经过小编的体验,我得出的结论是,这款游戏的毛病太多了。 如果游戏至少有20%是电脑,那么剩下的基本上都有故障,各种故障。 有人说官方不封堵这些bug的原因是为了与绝地求生竞争。 这不是真的吗?

那么作为《 Out》的玩家,你也作弊吗? 如果您喜欢我们,请关注我们。 每天都会有精彩内容和前沿游戏新闻。 @王之精品站 原创。 转载时请注明出处。 下一期再见!

强调

发表回复