手游辅助实现原理-Android和IOS平台注入插件
手游辅助实现原理简介
不同类型的辅助,其实现原理相差较大。这里根据上述每个辅助分类介绍下其大致实现原理。

游戏辅助
辅助类辅助是基于游戏客户端,动态获取游戏数据后编程响应达到辅助效果的类型辅助。
手游辅助开发注入专用插件
专用插件类辅助,属于定制化辅助,每个辅助只针对一款游戏。这类辅助的实现顾名思义,是插件形式:利用注入技术将功能模块注入到游戏进程空间中,并执行功能模块入口函数。在不同的移动设备上,有不同的注入手段。Android平台上的Zygote注入、直接ptrace注入技术;IOS上利用Cydia框架注入dylib。
辅助功能模块在被注入到游戏进程后,会执行HOOK操作实现辅助功能。辅助作者事先需要逆向分析游戏代码逻辑,找到一些游戏功能函数地址,比如说怪物扣血处理函数。然后在辅助功能模块中通过HOOK操作,挂钩相应函数,改写参数或者调用逻辑(多次回调,或者步调用)。
在底层汇编,HOOK操作可以理解为在特定代码地址,增加个跳转指令跳转到辅助作者自定义函数中。目前已经有封装优秀的三方库支持HOOK操作,辅助作者只需要调用相应接口函数,即可实现对指定函数进行HOOK操作,如substrate。
因此,专用辅助可以很灵活修改游戏代码逻辑,通过多次回调怪物扣血函数实现秒怪、通过屏蔽玩家扣血函数实现无敌等。
