安卓平台上的游戏辅助,到底是怎么做出来的呢?辅助能做到什么呢?
我用八门神器、葫芦侠能做到辅助可以做到的事情吗?辅助能做到八门神器或葫芦侠可以实现的功能吗?
带着这个疑问,石头人头石就在这里,分享一点干货,开一个安卓平台游戏辅助开发的知识讲座,在文章的最后,告诉大家答案。
当然,本次讲座的部分技术原理也可以用在iOS、windows等所有的操作系统上,但因为不同的系统平台上,可能会有部分关键的技术节点不同,导致为不同平台开发辅助,存在或多或少的差异。
今天第一课,我们用一款很火的游戏,《泽诺尼亚5》来做分析对象。为什么选择这个游戏呢?提前说一下游戏逆向的一个老话题,做游戏辅助,会碰到各种坑,让人抓狂的问题。但最幸福的就是,碰到一个无防御的游戏或应用。《泽诺尼亚5》就很符合辅助开发新手练习,无加密混淆,无外置脚本,无需脱壳,架构清晰,定义明确,代码逻辑条理分明,简直就是没穿衣服的*******(此处省略500字),对比的对象是刚上架安卓的《轩辕剑3天之痕》,十来年前的老游戏移植,用着老掉牙的SDL游戏引擎,十年前的程序架构,开发时完全没有面向对象的设计思维,导致各种函数接口一片混乱,我了个去,domo,你们的程序猿都是实习生吧……
擦掉口水,抹掉汗水,让我们回到正题。
百度下载《泽诺尼亚5》的apk安装包,让我们用winrar打开她,看看里面有什么……经过十秒钟的分析,我们就会发现,游戏主体,都在libgameDSO.so动态库中。石头人头石要在这再插句题外话,快速分析一个游戏是用什么方式编写开发出来的,游戏业务逻辑主体藏在哪里,是需要一定的熟练度的,只要有热情,去分析3、50个游戏,然后,对99%的游戏,谁都能做到秒杀。
下面进入正题,如何逆向分析这个游戏的逻辑。
运行我们的逆向神器IDAPro6.5(带HexRay插件会更方便一些,有不小的参考价值),载入libgameDSO.so,去喝杯咖啡,回来后,嗯IDA对泽诺尼亚5的so动态库的分析完成。
我用八门神器、葫芦侠能做到辅助可以做到的事情吗?辅助能做到八门神器或葫芦侠可以实现的功能吗?
带着这个疑问,石头人头石就在这里,分享一点干货,开一个安卓平台游戏辅助开发的知识讲座,在文章的最后,告诉大家答案。
当然,本次讲座的部分技术原理也可以用在iOS、windows等所有的操作系统上,但因为不同的系统平台上,可能会有部分关键的技术节点不同,导致为不同平台开发辅助,存在或多或少的差异。
今天第一课,我们用一款很火的游戏,《泽诺尼亚5》来做分析对象。为什么选择这个游戏呢?提前说一下游戏逆向的一个老话题,做游戏辅助,会碰到各种坑,让人抓狂的问题。但最幸福的就是,碰到一个无防御的游戏或应用。《泽诺尼亚5》就很符合辅助开发新手练习,无加密混淆,无外置脚本,无需脱壳,架构清晰,定义明确,代码逻辑条理分明,简直就是没穿衣服的*******(此处省略500字),对比的对象是刚上架安卓的《轩辕剑3天之痕》,十来年前的老游戏移植,用着老掉牙的SDL游戏引擎,十年前的程序架构,开发时完全没有面向对象的设计思维,导致各种函数接口一片混乱,我了个去,domo,你们的程序猿都是实习生吧……
擦掉口水,抹掉汗水,让我们回到正题。
百度下载《泽诺尼亚5》的apk安装包,让我们用winrar打开她,看看里面有什么……经过十秒钟的分析,我们就会发现,游戏主体,都在libgameDSO.so动态库中。石头人头石要在这再插句题外话,快速分析一个游戏是用什么方式编写开发出来的,游戏业务逻辑主体藏在哪里,是需要一定的熟练度的,只要有热情,去分析3、50个游戏,然后,对99%的游戏,谁都能做到秒杀。
下面进入正题,如何逆向分析这个游戏的逻辑。
运行我们的逆向神器IDAPro6.5(带HexRay插件会更方便一些,有不小的参考价值),载入libgameDSO.so,去喝杯咖啡,回来后,嗯IDA对泽诺尼亚5的so动态库的分析完成。