Android逆向之旅---手游「狂野飙车极速版」内购破解教程

感谢「许江渭」同学投稿,也欢迎广大安全逆向爱好者积极投稿,分享不仅是一种精神也是一种快乐!


好久没投稿了,主要是最近没学到什么新的东西,也比较忙,今天主要是想写个so文件在ida中的跳转指令是如何生成的,就拿一个手游实例来讲,以我的习惯是,如果拿到一个apk文件,首先就是先丢进Android killer反编译,然后重新打包,再运行游戏!


为什么不是先安装呢?主要是因为如果安装了,然后进行游戏,经过一堆新手教程,看到要破解的内容了(比如要修改金币,或解锁关卡),这时候再去反编译,想要重新安装的话,就无法覆盖安装了,又要过一堆新手教程才能触发那个点,所以就是先反编译,这是我的习惯,下面进入正题:

 

一、需要的工具

Android killer

IDA

010Editor

计算器(Windows自带)

手机

 

二、逆向分析

还是和往常一样先把apk丢进Android killer反编译,安装之后发现是手机屏幕一直是黑屏,猜测这个apk可能是做了手脚,还是以我以往的步骤,回退一步,使用四哥的kstool 先 hook签名试试。关于kstools说明:Android中一键爆破签名工具;安装之后又是黑屏,这就哇塞了,好吧,也有可能这个游戏本身就是不兼容我的手机,安装原版的试试,可以进

640?wx_fmt=png&wxfrom=5&wx_lazy=1

那就可以非常确定这个游戏是真的做了防护。过了签名验证还是没用这就操蛋了,因为个人习惯,我都是先试了所有的方法之后没辙了,再去看看日志有没有什么发现,这里还是按照我的习惯来,那就把原包直接重新签名试试。安装后,竟然也可以运行,这样看来有可能对dex文件做了完整性校验,这种情况就很难办了,可能是验证.dex的MD5值,或者xxx,各种校验.。既然直接重新签名可以运行,那我就改改.so文件试试,(这里是要破解内购,国内的很多游戏基本上内购都是从smali层入手,我们这里就不从smali层入手了,由于上面做了一堆校验,这里就先放弃去找smali中的校验了(也有可能在别的地方校验))。我们解压这个apk文件,找到lib\armeabi-v7a目录下最大的那个.so文件

640?wx_fmt=png

用ida载入后,如果smali层要跟native层交互的话,肯定有要以java_xxxxx为函数名,这里我们直接在Export栏搜索:pay 试试,如下图:

640?wx_fmt=png


果真有一堆跟smali层交互的支付函数,这里我们点击最后一个函数进去看看

640?wx_fmt=png

640?wx_fmt=png 

640?wx_fmt=png

从上上上图中我们可以看到支付失败和支付成功的逻辑差不多,就只有一个点是不一样的,那这个地方很大可能性就是起到失败和成功的关键,我们先假设smali层的支付会跟native层的这些函数交互,那我们就直接把PayFailed中的那个关键跳转也改为和PaySuccess一样,接下来就是关键的东西来了,会涉及到一些公式。

640?wx_fmt=png

 

计算公式: (B-(A+8))/4;以上面为例:(22B640 - (37F15C + 8)) / 4 = FFFFFFFFFFFAB137;得到结果后,取最后6位,即:FAB137;再倒序,得到:37B1FA + EB

 

按照这个公式,我们就把PayFailed中的那个改过来,都是跳转到sub_22B640,具体怎么算就按照上面那个公式来算,算出来之后使用010Editor编辑器,根据偏移地址把指令改过来

640?wx_fmt=png

最后改完之后应该是这样的,如下图:

640?wx_fmt=png

不要忘记这里还有些支付方法(第一,二,三条),也顺手把他改过来,套路跟上面一样

640?wx_fmt=png

 

改完之后,替换原来的那个.so文件,重新打包,签名,运行游戏。 哈哈哈,成功!

640?wx_fmt=gif


严重说明

本文涉及到的游戏样本和破解后的apk文件可以去小密圈自取,为了安全考虑不进行公开,希望大家利用本文技术作为研发目的,绝不可以用于非法目的,否则后果自负与本文作者无任何关系!点击立即进入小密圈

 

三、总结

这里主要讲到跳转指令是怎么生成的,和利用一些关键词去修改,这只是我的一些思路,如果你有搞怪的方法,还请留言一起探讨下,最后还是那句:以上只是用来技术交流,如果您使用该已经破解的游戏用于任何非法用途,均与本作者无关。

 

手机查看文章不方便,可以网页看

http://www.520monkey.com



《Android应用安全防护和逆向分析》

点击查看图书详情

640


长按下面??二维码,关注编码美丽


640


编码美丽小密圈

小密圈中汇集众神分享技术,所有源码、工具、破解样本、插件都汇集在小密圈中

---点击立即进入小密圈---


天若有情天亦老,我为逆向续一秒!猛戳下方"阅读原文",购买安全逆向图书!

640

猜你喜欢

转载自blog.csdn.net/f0ed9czn4ly992g/article/details/79864513