小黄人快跑4.25破解
本帖最后由 tutucoo 于 2019-2-26 06:52 编辑图片已上传
-------------------------------------------------------
图片链接用的为知笔记的,好像无法外链,正在将图片上传到图床中。。。。。。。。。。。。{:1_907:}
--------------------------------
无意中看到鬼哥老贴子:小黄人破解,所以想学习一下,
原贴地址https://blog.csdn.net/guiguzi1110/article/details/42100833
但是里面的网盘资源已经失效了,于是自己在豌豆荚上下载了一个新的版本:小黄人快跑 4.2.5
由于网盘上传速度奇慢,我就不上传了,大家有兴趣的自己去豌豆荚下载吧
闲话少说,下面开始分析。
游戏内主要有两种货币,一种是香蕉,一种是金币
看了下游戏asset,支付SDK在smali代码中
接着试下在游戏中添加一条Log信息,反编译重打包,测试游戏有没有防二次打包。
经过测试,游戏正常运行,游戏随便糟蹋都不会有什么问题。
游戏非unity游戏,使用的第三方支付SDK,对于这样的游戏来说,找突破口的方式有:
1.支付未完成返回,查看支付失败时的提示,然后找提示字符串,从而进行定位
2.进行DDMS日志查找,点击支付时有没有可疑日志
3.method tracing记录点击支付调用的函数
4.在smali代码中慢慢找支付相关SDK进行分析
先进行提示字符串的查找
支付未完成
确认退出后,显示交易失败
搜索交易失败,找到字符串id,再搜索字符串id,但是没看到有效的引用
搜索字符串还有一种方式,通过Android Killer中的转换工具将中文字符转为unicode搜索
找到两处引用,可以看出这是微信支付失败时的调用
查看源码a.smali
查看源码b.smali
没什么有用的东西,看来这两个类只是用来提示,没有支付核心代码
我注意到,在点击购买时,有个字符串,"获取订单信息中",搜索
跳转到类中,类中有不少订单相关的代码
看到监听器iXPayListener,找到这个监听器
JEB搜iXPayListener,看到有调用成功和失败的函数
失败传递2
成功传递0
继续跟到IABResultCallBack中,参数会被放到字典中,干脆一点,直接将arg7改为0,看看效果
函数位于Lcom/gamelof/android/ANMP/GloftDMCN/GameChina;->IABResultCallBack中,到AK中进行修改
将v2.putInt(InAppBilling.a(0,31),arg7)修改为v2.putInt(InAppBilling.a(0,31),0)
putInt两个参数,第1个参数是String,是由InAppBilling.a(0,31)传入,第二个参数是int,由arg7传入,所以只要将p0修改为0就ok了
修改完成后
重打包,运行,购买测试
购买成功!本来想通过鬼哥的原贴学习一下so修改,没想到这个游戏在java层中直接就搞定了,当然了,我相信这个游戏如果深入的分析,在so文件中进行修改也不是不可以,但既然有简单的方法,就到此为止了,毕竟so修改的样本还多的是。
文中有不妥之处还请网友指出,欢迎交流。
破解版下载
链接:https://pan.baidu.com/s/1NCHZJouZqGGRQHOaX0I1Gw
提取码:pz3u
复制这段内容后打开百度网盘手机App,操作更方便哦
图片看不了 谢谢楼主的分享 aa57142224 发表于 2019-2-25 14:44
图片看不了
图片已上传:Dweeqw 链接失效!!!!! 老游戏,挺好玩的 Lime 发表于 2019-2-25 14:50
链接失效!!!!!
图片已上传 感谢分享!~ 学习了,谢谢分享