android unity hook,Unity3d安卓游戏DLL动态调式与HOOK基础

本帖最后由 xiaoxin520 于 2016-4-4 02:27 编辑

本文作者七少月,文章中很多观点和技术手段为本人原创,转载请注明出处,由于本人技术水平有限,不当之处,还请斧正。

前言:

由于本人一直以来都比较忙,开班、工作等等事情太多,所以很长一段时间没有发帖。其实我确实想看一看,尤其是Unity3d安卓游戏逆向领域有没有更出彩的文章。可能有些不恰当的说,确实这一段时间以来,虽然也有一些Unity3d安卓游戏逆向的优秀文章,如对金庸群侠传X1.0的数据库解密和功能解锁修改,但无论从数量上,还是从难度上,我都难以满意。不知道是愿意共享的人少了,还是觉得U3D逆向技术太简单了,如果是后一种原因,我只想说,U3D在安全开发的投入和技术发展是难以想象的飞速,如U3D把关键函数引向lua,利用Lualib实现C#与LUA交互,不仅实现热更新,也保护了代码,而lua脚本文件则作为资源文件打包混淆。以上是后话,现在最大的问题在于,即使DLL解密脱壳后,我们依然在静态分析DLL。

难以逾越的鸿沟:

本篇技术文章需要一定的U3D安卓逆向基础,没有的推荐看法总的教程,至少你能用reflector把DLL中一个return hp语句修改为return 99999.在之前我们说过,由于U3D底层并不开源,而且DLL运行在安卓上已经是受到了很大限制,所以在给我们逆向带来比普通安卓的dex和so目标更为明确的同时,也让我们逆向手段带来很大拘束。导致的一个结果就是,我们逆向U3D的DLL,只能使用静态分析,通过搜索,然后修改,最后测试。一直以来,我们认为,只要把关键DLL拿到,即使是网游,也可以进行修改。但以后就不是这个样子,可能以后DLL确实是所谓的关键DLL,但就不做保护地摆在那里,都没有什么作用。如果你一直看我U3D逆向的相关文章,这是继U3D把DLL加密加壳阶段的下一个新的阶段,我称为关键DLL无效的阶段。回到本文,我们好像确实很为难,只能使用静态分析仿佛成了我们一道无法逾越的鸿沟。

Unity3d游戏DLL动态调式与HOOK:

能实现对U3D游戏进行动态调试,是我和法总一直以来的愿望。早先,我写过一篇理论指导性的文章《Unity3d游戏动态调试理论框架》。当然,就在那不久之后,里面的思想相继得到了实现。最具代表性的,就是利用IDA动态调试libmono.so,DUMP下来解密后的DLL。但很可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值