导语:不提供任何工具,仅做思路分享。所以本教程你必须具备一定的工具自写的基础


为此我们基础工具准备了:ida、frida-il2cpp-bridge
根据相关资料、以及对unity源码的了解我们可以知道unityso和il2cpp导出api之间的联系。在ida中通过方法字符串定位unityso中的字符串交叉引用,可以获取到对应的方法指针 他们的关系公式大概为
设unityso基址为a,cpp基址为b,Unity指针地址为c,所求api地址为x。
即x=(a+c).指针–cpp基址
地址获取已知,但是总共几百个api手动获取到明年吗[滑稽]所以可通过Python写下ida脚本:字符串定位、交叉引用、指针反查获取到所有的指针地址。
然后根据我们上面的公式通过Frida获取到真实的所有地址。

frida-il2cpp-bridge中的寻址方法更改为匹配我们frida输出结果

当然由于我们已经具备了该游戏的api,frida-il2cpp-bridge的相关功能也都可以使用自吐转存dll、hook等等都可以

