西枫游戏 发表于 2020-3-8 18:06

【贪吃蛇】的内购 从java层到so层分析


1. 先反编译再打包,安装运行测试没毛病说明没有签名校验,点击购买 然后取消如图所示——


2. 取消后提示支付取消,那就搜索字符串【支付取消】然后跟进去


3 .然后查看java代码:分别有支付成功,支付失败,支付取消




3.重点来了,看到这个很熟悉的字眼那就不用多说了,只需要看到这调用的函数【BuyFailed】【BuySccess】   
说明要么成功 要么失败。修改的方法很简单,只需要把失败的函数全部替换为成功的函数即可完成内购。



==================================分割线=======================================

【上面是java层代码的修改方法,几乎很简单,没啥挑战难度,接下来增加点难度 ,从so层修改】

1. 跟进支付成功 和支付失败的方法。



2 .跟到了so文件这里,修改APK为压缩包形式 拖出【libgame.so】文件



3 。载入so文件之后。


4。跟进这两个方法。【BuyFailed】【BuySccess】并且对比两个方法



5 。切换到16进制按F2输入法切换为英文再输入【C0 46】 再按 F2保存。


6.看到nop掉了代码。

7. 保存so文件 并且放进压缩包



8. 购买



9 . 如果嫌【购买弹出的支付窗口很麻烦】很简单直接注释掉 这两行代码即可。即可直接快速购买





===================================================


很少发帖 ,这次希望大家多多支持 热心啥的{:301_1009:}

原版:【https://www.lanzouj.com/ia22a1a】

成品:【https://www.lanzouj.com/ia229ud】









bigbirdl 发表于 2020-3-8 23:34

三个小时了,终于按照楼主的操作全部完成一遍了。有几点想提醒后来的和我一样的新手朋友们:
1、IDA不要用64位的,因为64位中插件的打包不可用,也就是modifyfile不可用。这个真是让我费劲了心思才发现。反复下了好几个版本,下了好几个插件。。。心酸。新人的摸索。
2、用winrar直接打开apk,so文件就可以直接解压出来了,lib里面有三个文件夹都有这个libgame.so。直接用第一个armeabi里的就行。等修改好后,如果是用模拟器,把armeabi文件夹里的文件替换即可,如果用手机,可以考虑把三个文件夹的文件都替换了。
3、ida新手真的不好上路。建议先看看鸭子大神的新手帖https://www.52pojie.cn/thread-732298-1-1.html。
4、文件替换好后,安装有时会提示安装失败。是因为没有签名造成的。最简单就是用mt签个名。用mt打开你替换好的apk如图,点击功能,然后点击apk签名即可自动签名。然后就可以安装了。


5、有问题多摸索,反正折腾不坏机子。多交流。

yangtze 发表于 2020-3-8 19:45

学到了学到了

lb39371670 发表于 2020-3-8 18:10

好好学习学习学习

西枫游戏 发表于 2020-3-8 18:12

最下面两张图为。。。【不知道怎么回事 估计排版的问题把】 可以忽略掉{:301_971:}

1941368542 发表于 2020-3-8 18:28

这篇文章写得真好,每一步都有详细说明,很有学习意义。希望在多写一点类似的。

1218423706 发表于 2020-3-8 18:57

礼问源文件。

bjxiaoyao 发表于 2020-3-8 19:16

感谢楼主分享精彩教程

wguage 发表于 2020-3-8 19:17

感谢楼主分享,小白努力学习中

ells 发表于 2020-3-8 19:31

感谢楼主分享教程

lbl8029 发表于 2020-3-8 20:40

楼主厉害 。。。。。。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【贪吃蛇】的内购 从java层到so层分析