往期推荐

AS+smalidea插件动态调式

JEB动态调试

Method Profiling

方法栈跟踪

内购的概念是很好理解,就比如游戏本身是免费的,一般是手机游戏,但是游戏里面会有道具或者金币等需要花钱来购买,这样在游戏内部收费的方式,就称之为内购

一:分析程序内购逻辑

程序逻辑分析=>最重要的是流程分析/流程图=>核心(层次)

关键性信息查找=>静态(整体分析与局部分析)/动态

在分析的过程中,我们会去筛选一些关键信息,通过这些关键信息更快速的去实现想要的功能,

二:内购关键信息

1.内购关键词

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

和游戏搜索方法名:
onResult,onchinabilling,resulton,Paycenter,Callback。

联通游戏搜索方法名:
OnPayResult,PayResulton,Activity,result,callback。

电信爱游戏搜索方法名:
buySuccess/paySuccess支付成功,buyCancel/payCancel支付取消,buyFailed/payFailed支付失败.

移动mm搜索方法名:
onBillingFinish,Billing,CallBack,onresult。针对以上关键方法搜索无用的情况下,需要对关键onsuccess()函数进行筛选与定位。

支付宝和银行卡方法名: handle,message。

支付宝搜索字符: 搜索字符串“9000”。

360支付: onfinishedon,Activityresult。

4399: notifyDeliverGoods。

2.支付接口

当在支付界面已经初步判断它是以哪种支付方式进行支付时,就可以直接根据该支付接口的关键信息来进行相应操作。

电信支付接口:
logcat字符串定位(Egame支付成功/Egame支付取消/order id)=>搜索字符串,向上分析,回溯分析/函数名替换。

联通支付接口:
logcat字符串定位(Unicom支付取消/Unicom支付成功)=>在下面类修改处理,可以用goto或switch方法。

移动支付接口:
logcat字符串定位(购买道具:[] 成功/购买道具:[] 失败)=>在下面类修改。

3.会产生费用的危险权限

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

4.特征码

这个关键信息,仅作为了解内容,通信行业的运营商会存在对应的特征码,这个可以帮助大家初步进行一个判断,但作用并不是很大。

中国移动:46000、46002、46007、46020
中国联通:46001、46006、46010
中国电信:46003、46005、46011

三:游戏内购实战

以贪吃蛇APP作为案例,给大家进行具体分析

首先安装贪吃蛇app ,接下来进行购买商品,会弹出弹窗,取消支付,会发现呈现的信息是“支付取消”如下图所示。

看到支付取消,会立刻对应到刚刚讲过的关键词中的电信爱游戏搜索方法名buyCancel/payCancel支付取消,直接进行搜索。

将贪吃蛇app拖到AndroidKiller工具里面进行反编译。打开工程搜索,搜索“支付取消”,结果搜不到,原因是在smali代码里中文采用了unicode编码,所以需要转换成 unicode码,点击大A这里进行转换。然后再次进行搜索,搜索成功,发现一个可疑目标,如下图所示。

随即点击上面的方法框,弹出方法列表,我们发现有四个方法,init构造方法 、 payCancel支付取消的方法、payFailed失败的方法,如下图所示。

paySuccess支付成功的方法如下图所示。

对比支付成功、支付失败、支付取消的方法,点击咖啡图标可以查看java代码,如下图所示。

对比之后,发现里面执行的方法不一样,也就是后面的Failed和Success这里不同,将支付失败和支付取消的方法里面的代码替换成支付成功方法里面的代码,改完之后点击保存,回编译。编译完成之后,卸载原版,安装我们修改之后的版本。安装完成之后我们重新打开进行购买,发现购买成功,如下图所示。

市面上的游戏APP很多,会使用到的内购破解技巧也是不尽相同,同学们要学会分析的思路,根据给到的关键信息进行搜索判断,进行破解。

小结:

通过今天的分享,我们了解了单机和弱联网游戏的内购破解,同时还掌握了单机和弱联网游戏内购破解中的流程分析以及关键点的寻找。

如果你也对安卓逆向感兴趣。可以加下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程

安卓逆向交流学习:1139349849
vx:Yjxiaox

单机和弱联网游戏内购,白嫖的机会来了相关推荐

  1. 安卓逆向_14 --- 单机和弱联网游戏内购 突破口 和 思路

    From:https://www.bilibili.com/video/BV1UE411A7rW?p=41 Android 逆向资源收集( apk ):https://blog.csdn.net/qq ...

  2. iOS平台游戏安全再议之八门神器内存修改,IAP Free游戏内购破解的防御

     http://danqingdani.blog.163.com/blog/static/186094195201298103346566/ 今年3月初写过一篇<iO平台游戏安全小议> ...

  3. Java游戏服务器成长之路——弱联网游戏篇(源码分析)

    http://blog.csdn.net/hjcenry/article/details/50530472 前段时间由于公司的一款弱联网游戏急着上线,没能及时分享,现在基本做的差不多,剩下的就是测试阶 ...

  4. 单机 amp; 弱联网手游 防破解、金币改动 简单措施

    单机 & 弱联网手游 防破解.金币改动 简单措施 手游经常使用破解方法 对于一个弱联网或者单机游戏,能够从下面方面去破解: 1.找得到存档文件的,直接破解改动存档文件. 2.找不到存档文件,就 ...

  5. 安卓逆向(Android)之二__《全民捕鱼》游戏内购破解

    安卓逆向之二__<全民捕鱼>游戏内购破解 环境简介 系统:Android 4.4 工具:Windows 10 64bit 夜神模拟器         Android Killer Java ...

  6. 安卓游戏内购破解之滚动的天空

    继<教我兄弟学Android逆向02 破解第一个Android程序>之后根据大神的帖子,实现破解一款游戏 内购! 工具:依旧是Android Killer1.3.1.0 + JDK1.7 ...

  7. 安卓游戏内购破解切水果大战(替换法和Switch法)

    继<安卓游戏内购破解之滚动的天空>之后根据大神的帖子,实现破解一款游戏内购! 使用替换法和Switich方法 工具:依旧是Android Killer1.3.1.0 + JDK1.7 软件 ...

  8. 转载~[Android 分享] 基于弱联网游戏讲安全攻防

    前几年乐元素CTO凌聪有一篇分析手游作弊(主要是弱联网休闲游戏的作弊)的帖子,他从弱联网游戏可能存在的多种安全问题来分析玩家或破解者可能采用的手段以及研发商可以采取的对策.最后他总结了对各种问题的解决 ...

  9. 内购订单进行二次处理_游戏内购要涨价?谷歌效仿苹果:安卓内购抽成30%

    点击上方"蓝字"关注我们 苹果在全球范围内都要从第三方APP的收入中抽成30%,这让不少开发者都心生不满,甚至EPIC的<堡垒之夜>还因为绕开苹果App Store的收 ...

  10. 解决某APP游戏内购

    对某APP内的道具购买进行破解 学习笔记三:对一款存在道具.关卡内购的APP进行破解使其道具.关卡购买免费化 一.将该未进行处理的APP通过模拟器安装使用 通过安装后的使用(购买其中的道具)发现该AP ...

最新文章

  1. vs2005不能找到ASP.NET网站之郁闷
  2. 高级(复杂)指针的含义
  3. 基于angular4+ng-bootstrap+bootstrap+scss的后台管理系统界面
  4. 【AI白身境】深度学习中的数据可视化
  5. PHP快速入门教程:WHILE循环示例
  6. 2015美国数学建模a代码c语言,1985~2015美国大学生数学建模竞赛题目集锦.docx
  7. 立体视觉(Stereo Vision)-本征矩阵(essential matrix)和基本矩阵(fundamental matrix)
  8. 蓝桥杯 ALGO-52 算法训练 排列问题
  9. GDAL库进度信息编写示例
  10. 联想拯救者y7000电池耗电快_联想拯救者Y7000P使用一周体验
  11. 公积金查询,公积金账号查询
  12. IT 开发常见 英文简称 VO, BO, PO的讲解
  13. 菜单转换Java_java递归菜单树转换成pojo对象
  14. 阿里云服务器(Windows)如何远程连接?
  15. 【自用】Excel数据分析查漏补缺
  16. 基于rt-thread的udp客户端
  17. 这份 Android 性能优化手册 对标大厂!
  18. Java数组之一维数值数组之数据去重
  19. 路由器DNS 劫持攻击情况
  20. JS面试题汇总(Es6)

热门文章

  1. CAN唤醒硬件方案和软件分析
  2. java 获取月份 几周_获取日期是月份中的第几周(以周一为开始时间)
  3. 佛罗里达大学计算机工程硕士要求,佛罗里达大学计算机工程理学硕士研究生申请要求及申请材料要求清单...
  4. OpenGauss数据库的安装与运行
  5. AM调制解调matlab实验报告,基于MATLAB的AM调制解调系统仿真报告
  6. 多元相关与回归分析及R使用
  7. niosii spi 外部_niosii boot过程
  8. 3dmax制作alpha通道贴图
  9. 用html5制作古诗,古诗词书签制作
  10. 最新EXCEL使用技巧大全