首页
论坛
课程
招聘
[原创]单机和弱联网游戏内购
3天前 1271

[原创]单机和弱联网游戏内购

3天前
1271

内购技巧

从静态分析程序逻辑,找到修改点。
程序逻辑分析=>最重要的又是流程分析/流程图=>核心(层次)。
关键性信息查找=>静态(整体分析与局部分析)/动态。
在分析的过程中,我们会去筛选一些关键信息,通过这些关键信息更快速的去实现想要的功能,少走弯路。

内购关键信息

内购关键词

如果我们能够明确游戏是类属以下哪一种的话,就可以在搜索栏直接搜索下列关键词。

和游戏搜索方法名

onResult,onchinabilling,resulton,Paycenter,Callback。

联通游戏搜索方法名

OnPayResult,PayResulton,Activity,result,callback。

电信爱游戏搜索方法名

uySuccess/paySuccess支付成功,buyCancel/payCancel支付取消,buyFailed/payFailed支付失败

移动mm搜索方法名

onBillingFinish,Billing,CallBack,onresult。
针对以上关键方法搜索无用的情况下,需要对关键onsuccess()
函数进行筛选与定位。
支付宝和银行卡方法名 handle,message。
支付宝搜索字符 搜索字符串“9000”。
360支付 onfinishedon,Activityresult。
4399 notifyDeliverGoods。

支付接口

当在支付界面已经初步判断它是以哪种支付方式进行支付时,我们就可以直接根据该支付接口的关键信息来进行相应操作。
电信支付接口
logcat字符串定位(Egame支付成功/Egame支付取消/order id)=>
搜索字符串,向上分析,回溯分析/函数名替换。
联通支付接口
logcat字符串定位(Unicom支付取消/Unicom支付成功)=>
在下面类修改处理,可以用goto或switch方法。
移动支付接口
logcat字符串定位(购买道具:[] 成功/购买道具:[] 失败)=>
在下面类修改。

# 会产生费用的危险权限:

还有一些游戏呢,在分析的过程中,发现存在以下两种危险权限,必须进行删除,否则即使后续操作都准确无误,可能还是产生相应的费用。
android.permission.SEND_SMS
android.permission.CALL_PHONE

特征码

最后这个关键信息,仅作为了解内容,通信行业的运营商会存在对应的特征码,这个可以帮助大家初步进行一个判断,但作用并不是很大。
中国移动 46000、46002、46007、46020
中国联通 46001、46006、46010
中国电信 46003、46005、46011

游戏内购实战

接下来我们以贪xxAPP作为案例,给大家进行具体分析
首先安装贪xxapp ,没有安装的朋友可以私聊评论相关课程下下载并安装。接下来进行购买商品,会弹出弹窗,取消支付,会发现呈现的信息是“支付取消”

 

图片描述
看到支付取消,会立刻对应到刚刚讲过的关键词中的电信爱游戏搜索方法名:buySuccess/paySuccess支付成功,buyCancel/payCancel支付取消,buyFailed/payFailed支付失败。对应到了,那直接搜索就可以啦,对吧。
接下来将贪xxapp拖到AndroidKiller工具里面进行反编译。
打开工程搜索 搜索“支付取消”,结果搜不到!
这时候我们就需要思考一下,因为在smali代码里中文采用的 unicode
编码,所以需要转换成 unicode码,点击大A这里进行转换。然后再
次进行搜索,搜索成功啦,在这里发现一个可疑目标。
图片描述
图片描述
随即我们点击上面的方法框,弹出方法列表,我们发现有四个方法
第一个 init构造方法
第二个 payCancel支付取消的方法
第三个 payFailed失败的方法
第四个 paySuccess支付成功的方法
图片描述
图片描述
我们来对比一下支付成功、支付失败、支付取消的方法 点击咖啡图标可以查看java代码。

 

图片描述%20图片描述

 

发现里面执行的方法不一样,也就是后面的Failed和Success这里不同,那么就来个狸猫换太子喽,将支付失败和支付取消的方法里面的代码替换成支付成功方法里面的代码,。
改完之后点击保存,回编译。
编译完成之后,卸载原版,安装我们修改之后的版本。
安装完成之后我们重新打开进行购买,发现购买成功。


[公告]《安卓APP加固攻与防》训练营!Android逆向分析技能,干货满满,报名免费赠送一部手机!

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回