本篇是《Android逆向入门教程》的第六章第2节,具体课程详情可点击下方图片查看:
每一章节详细内容及实验材料可通过加入底部免费的【Android逆向成长计划】星球获得!
声明:本次实验含部分虚构,纯属技术练习,未对真实环境造成任何影响。也请勿将相关技术用于非法操作,否则责任自负。
0x01 实验目的
本次实验的目的是实现某app的道具内购,实现无需付费即可无限获取道具。
本次实验所用到的工具有AndroidKiller,ddms,雷电模拟器。
0x02 实验分析
1)将下载的app拖入AndroidKiller中,查看到app的包名为:com.turxxxhilli.rxxxxy_cn.m4399。然后win+r快捷键弹出win命令框,输入ddms,打开我们的ddms。
2)将我们的app安装到模拟器中,打开模拟器购买道具的地方,然后点击购买,然后在选择支付方式的时候取消支付。然后观察我们的ddms有报出关于取消操作涉及的关键词有SisxxxxJiuPay,
3)然后在AndroidKiller中搜索关键字SisaxxxPay,发现在两个类中有SisaxxxPay关键字,然后在ddms中发现有shouldDeliver=4等关键字,因此先定位第一个类,然后根据shouldDeliver=4定位到该类下的函数名为notifyDeliverGoods。
4)通过分析参数p1和p2的传递,定位到101-105行,如果此时p1,p2,p5的值有一个为0就会跳转到cond_5,跳过购买道具的具体处理细节,然后我们修改if-eqz为if-nez,让我们取消支付的时候,仍然能继续处理我们购买道具的操作,然后保存,反编译,安装到模拟器试试效果,发现已经成功实现了游戏道具内购。
内购成功相关截图,此处就不放了(自行YY)
团队公开知识库链接:
https://www.yuque.com/whitecatanquantuandui/xkx7k2
知识星球:
往期经典
安
全
扫描二维码 |关注我们
本文始发于微信公众号(WhITECat安全团队):Android逆向(教程更新)|内购破解实操练习
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论