v1.3.1内购破解之一下内购的方法和原理
概括最近一直在研究反向,应用内购买破解了这块。我发现这很有趣。当然,也仅限于技术研究。下面通过单人游戏的内购破解来详细介绍内购的方法、原理和保护。
材料准备
1)APP下载,本次演示软件:登山赛车到天国探险
我们可以从它的官网下载,在其他市场下载低版本。
这里我又下载了一个v1.3.1,以后会有用。
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_0.jpg
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_1.jpg
2)至于工具,加个夜神模拟器就好了
3) 看一下,可以正常编辑回来,省了很多麻烦
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_2.jpg
应用内购买破解
01. 应用内购买流程
应用内购买是在应用中付费购买道具或其他东西。加入第三方SDK(支付SDK)。
支付SDK提供商(如中国移动、中国联通、支付宝等)首先开发了支付SDK,
并进行加固等保护,然后为开发者提供支付接口的使用指南,
开发者将支付SDK添加到APP后,通过相关配置使用SDK即可完成支付功能。
从国内单机应用来看,内购流程可以简写为:APP-支付SDK-支付SDK服务器-APP。
Play内购流程比国产安卓要复杂一点
国内主流的内购SDK开发主要分为两类:
即短信运营商(三大运营商)和第三方支付平台(微信、支付宝等)
02. 搜索关键字符
应用内购买的主要功能
90000×2328
从字面上看,可以知道是用来判断支付结果的(其中0×2328是9000的16进制)
02×01
直接搜索购买失败的
1)。安装游戏后,购买金币,填写任意金币,让它弹出购买失败的错误信息
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_4.jpg
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_5.jpg
2)。搜索关键字符“短信验证码验证失败”。另外,没有找到转码。
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_6.jpg
3)。尝试搜索其变量名“”
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_7.jpg
4)。果然版本更新了,但是名字没变,尝试搜索它的ID“”
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_8.jpg
5)。但是目前我还没有找到它的关键判断语句,所以,另找方法
02×02 搜索支付API密钥接口
1>我们看一下支付方式内购破解直接支付成功游戏,还有微信和支付宝天外神坛,但是我们这里看短信支付(朋友支付)
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_9.jpg
2>从输入的手机号码的错误提示可以看出是手机界面。在我们把它拉进去之后
搜索移动支付API的关键字“”(前面已经介绍过第三方SDK的相关信息)
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_11.jpg
3> 另外,查看.xml文件,发现原来应用的入口已经改变
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_12.jpg
4>我们看原始入口下的类(有需要的可以看反编译的JAVA代码),这里我们直接看Smali语句
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_13.jpg
5>跳转到:,显然这是一个API的返回码,我们看一下:
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_14.jpg
6> 从:的分支可以断定:与购买失败有关,反之:与购买成功有关
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_15.jpg
7>我们可以让它的判断永远成功,从而达到内购破解的目的。有很多方法可以改变它。
这里我们可以简单的使用 goto 命令,目标是让它跳转到一次购买成功
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_16.jpg
汇编中的跳转指令
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_17.png
1、goto:偏移量不能为0,通过短偏移量无条件跳转到目标;
2、If语句;
3、
- v0, : v0 是要判断的值;
:偏移表,表中的值是有规律的增加的;
- v0, : 偏移表中的值是不规则的。
8> 最后,我们来看看我们修改的结果
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_18.jpg
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_19.jpg
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_20.jpg
02×03 修改游戏记忆
这个不多说,直接上工具
一个。手机root,安装目标APP和内存修改器(这里用到了八神器)
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_21.jpg
湾。先启动八神器(类似于葫芦侠、幸运饼干、饼干修改器等)
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_22.jpg
C。进入app,开始竞速,然后拿出八件神器搜索金币的价值
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_23.jpg
d。由于数值较多,可以继续搜索进一步确定金币的内存数据
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_24.jpg
e. 可以看到只有一条数据发生了变化,直接修改即可。这里改为
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_25.jpg
F。修改成功,也意味着游戏没有保护
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_26.jpg
G。至此,你可以退出八神器继续飙车了,秋名山在等你
http://tt.ccoox.cn/data/attachment/forum/20220117/1642392023942_27.jpg
02×04 其他方法
其他方法如进程注入、Hook、修改初始数据(找到本地相关文件直接修改)等内购破解直接支付成功游戏,
反正就是要改,,,为了尊重开发者,还是按照游戏规则慢慢玩吧,不然会失去一些游戏的乐趣。
页:
[1]