首页
社区
课程
招聘
[原创]***极速版逆向分析
发表于: 2021-11-2 16:37 10765

[原创]***极速版逆向分析

2021-11-2 16:37
10765

在apkpura上找了个看漫画软件,拿来练练手

apk资源

需求

分析

需要app需要账号才能后续操作,可以用短信接收器注册了一个账号用作测试,无加固,无校验

点击 充值并购买 后跳转到充值界面,再点击 确认充值 便会弹出 支付失败提示;常规操作使用jadx-gui打开并搜索 支付失败 。可以看到有两个可疑对象,其中一个可能与vip充值有关先不管,直接跟入 RechargeActivity
图片描述

看到这个大概就清晰了,对 i2 进行判断,如果 i2 == 3 则支付成功,那我们直接修改这个判断就可以了,根据路径找到对应smali文件
图片描述

搜索当前 支付失败 的unicode “\u652f\u4ed8\u5931\u8d25”,发现什么也没搜到,搜索函数名 public d( 也没搜到,怎么回事?

点击jadx 转换为smali代码观察比较,发现文件头部一样,但内容缺少不同,可能被拆分了
图片描述
图片描述
图片描述
图片描述
图片描述

那么来搜索含有 函数d 的activity有哪些,发现有3个,挨个观察,发现在 RechargeActivity$10.smali 下发现判断逻辑

grep -nilr "public d(" manga/smali_classes2 | grep "RechargeActivity"
图片描述

分析并修改:参数寄存器p1 因该对应的是 i2,直接修改p1使其永远等于3,只能支付成功

aget p1, v0, p1
const/4 p1, 0x3 // 增加
图片描述

打包,签名,安装,点击 确认充值 发现支付成功了,但余额并没有变
图片描述

再次检查java逻辑,将 p1 改为 5 试试,发现能够成功
图片描述

接下来是vip了,参考上面的步骤,找到支付逻辑代码,定位smali所在位置,修改逻辑即可

图片描述
图片描述

总结
虽然付费和vip虽然都能返回成功,但是返回查看余额和vip发现并没有变化,并且搜索分析出该app使用了阿里的支付。所以最后并没有这个实质性的破解。菜鸡一枚,记录一下过程。如果大佬有好的思路,请一定不要吝惜自己的键盘:)

 
链接: https://pan.baidu.com/s/15mWwNrp0KGfLoQULVdkU2g
提取码: e9qs
链接: https://pan.baidu.com/s/15mWwNrp0KGfLoQULVdkU2g

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-11-2 16:42 被andyhah编辑 ,原因: 上传不全
收藏
免费 3
支持
分享
最新回复 (3)
雪    币: 6209
活跃值: (5645)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
2021-11-2 17:45
0
雪    币: 225
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好像板块不对把 这个不是PC板块嘛怎么 出来android的文章了
2021-11-2 21:06
0
雪    币: 982
活跃值: (426)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
琳琅天下 好像板块不对把 这个不是PC板块嘛怎么 出来android的文章了
我选的软件逆向,板块不对嘛?还是要选android安全?
2021-11-4 14:02
0
游客
登录 | 注册 方可回帖
返回
//