痞孑 发表于 2018-8-6 02:56

So文件跳转指令生成与游戏内购

本帖最后由 痞孑 于 2018-8-6 03:11 编辑


--------------------------------------------------------------------------------------------------------------------前提摘要通常本人拿到一个apk文件,首先就是先丢进Android killer反编译,然后重新打包,再运行游戏。为什么不是先安装呢?主要因为如果安装了,然后进行游戏,经过一堆新手教程看到要破解的内容(比如要修改金币,或人物属性。)这时候再去反编译,想要重新安装的话,就无法覆盖安装了,又要过一堆新手教程才能触发那个点,所以就是先反编译--------------------------------------------------------------------------------------------------------------------基础套路IDA手机010EditorAndroid killer计算器(Windows自带)
--------------------------------------------------------------------------------------------------------------------进入正题还是和往常一样先丢进Android killer反编译。。。安装之后发现是手机屏幕一直黑屏,这时猜测这个apk可能是做了手脚。还是以我以往的步骤,回退一步,之后使用尼古拉斯.赵四的kstool 先hook签名试试。什么是kstool?请看http://www.wjdiankong.cn/archives/1006之后安装又是黑屏,这就很皮了,好吧,也有可能这个游戏本身就是不兼容我的手机,安装原版的试试,可以进
那就可以非常确定这个游戏是真的做了防护。过了签名验证还是没用,这就操蛋了,因为个人习惯,我都是先试了所有的方法后,没辙了,再去看看日志有没有什么发现,这里还是按照我的习惯来,那就把原包直接重新签名试试。。。安装后,竟然也可以运行,这样看来有可能是对dex文件做了完整性校验,这种情况就很难办了,可能是验证.dex的MD5值,或者xxx,各种校验.。。。既然直接重新签名可以运行,那我就改改.so文件试试,(这里是要破解内购,国内的很多游戏基本上内购都是从smali层入手,我们这里就不从smali层入手了,由于上面做了一堆校验,这里就先放弃去找smali中的校验了)(也有可能在别的地方校验)


解压这个apk文件,找到lib\armeabi-v7a目录下最大的那个.so文件

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


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

从上图中我们可以看到支付失败和支付成功的逻辑差不多,就只有一个点是不一样的那这个地方很大可能性就是起到失败和成功的关键,我们先假设smali层的支付会跟native层的这些函数交互,那我们就直接把PayFailed中的那个关键跳转也改为和PaySuccess一样,接下来就是关键的东西来了,会涉及到一些公式
计算公式: (B-(A+8))/4以上面为例(22B640 - (37F15C + 8)) / 4 = FFFFFFFFFFFAB137得到结果后,取最后6位,即:FAB137,再倒序,得到:37B1FA + EB按照上面那个公式来算,算出来之后使用010Editor编辑器,根据偏移地址把指令改过来

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

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

改完之后,替换原来的那个.So文件,重新打包,签名,运行游戏!
总结本文主要讲到跳转指令是怎么生成的和利用一些关键词来达到目的

q114271744 发表于 2018-8-6 03:09

学习一下~

凌乱的思绪 发表于 2018-8-6 06:03

学习下了感谢

hnpygzp 发表于 2018-8-6 08:05

马克一下。稍后学习。

螺丝刀 发表于 2018-8-6 08:31

请多出点so修改的教程

thornfish 发表于 2018-8-6 08:39

支持一波

大梳子 发表于 2018-8-6 08:43

还不错~~~ 继续学习

czyjcx 发表于 2018-8-6 08:46

谢谢楼主分享

无法无天2020 发表于 2018-8-6 09:14

对于我们这小白,只能看看啊

w5205201314 发表于 2018-8-6 09:18

学习一下~
页: [1] 2 3 4
查看完整版本: So文件跳转指令生成与游戏内购