吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 25982|回复: 67
收起左侧

[Android 原创] 解锁一款Android应用VIP功能详细思路

  [复制链接]
LivedForward 发表于 2019-9-10 15:27
本帖最后由 LivedForward 于 2019-9-10 16:05 编辑

软件名称:音乐剪辑
这款软件UI做的特别漂亮,功能也很强大,可以作为一个音乐编辑的工具.

练手分析该软件内购授权思路,并解锁VIP全部功能.



软件授权机制做的很简单,希望大佬哥哥们批评指正.
QQ图片20190910144040.png QQ图片20190910144044.png

.


软件没有订阅VIP之前底部有广告,启动界面也会有广告,而且每天功能使用会有次数限制


直接入正题:
软件没有加壳,只是对Java层的方法名和变量名进行了混淆,,可以说是非常简单了.


先将dex转化为jar,然后拖入jd-jui查看源码辅助分析.


这款软件直接修改支付结果是不行的,因为软件会后台异步获取订阅结果和订阅日期,这里就
选择对用户管理类作为入口点.因为一般订阅软件都有一个专门管理用户信息的类,里面就包含VIP
订等相关信息.


以微信支付为例:
在支付回调时会有Toast结果信息,我们根据这个信息定位到com.lixiangdong.songcutter.pro.activity.DingyueActivity


捕获01.JPG

可以看到支付成功的函数调用了a(),跟进 捕获02.JPG ,继续跟进ViewUtils里的重载a方法:

捕获03.JPG

可以看到程序确实后台异步会从服务器获取订阅信息,大体思路就是匿名内部类实现了一个http通讯回调接口,
回调执行各种通讯结果,我们看到重写的a(LoginBean param1LoginBean)方法里,很明显 SPUtils这个类就是负责
管理用户信息的类.
再往后面看:
捕获04.JPG

看到一个b()方法,应该可能就是初始化用户的相关信息,timeExpire,isVIP等等,
看到这里就好办了,我们可以手动将timeExpire和isVIP等字段赋值,但是timeExpire格式我们还需要
进一步查找.

在之前的一个类DingyueActivity 里看到这个函数:

捕获05.JPG

在用户下订单之前会先对用户信息进行一系列判断,其中就有一个过期时间是否为2099-01-01


看到这里,我的思路就是将timeExpire和isVIP等字段进行修改,然后将用户初始化信息的代码放到程序入口的位置,这样程序启动
就已经是VIP用户了.


现在我们来修改程序对应的smali代码
Screenshot_2019-09-10-15-18-44-900_bin.mt.plus.png


这里是对应的初始化用户信息的smali代码,可以看到const/4 v3,0x0
这条指令意思是把0x0赋值给占4个字节的v3寄存器,猜想肯定是int型,0x0就是0.
在之前我们就已经知道程序初始化用户信息是将用户isVIP等boolean字段赋值为false
所以在这里我们肯定0x0就是false,所以我们将0x0改为0x1即true,然后将timeExpire赋值
为2099-01-01,将此段smali代码复制到程序入口即可啦!


效果图:登陆就是VIP,没有广告和功能次数限制了,即使不登陆也无广告和功能次数限制.
QQ图片20190910144033.png

总的来说分析这个软件的订阅授权还是挺简单的.

免费评分

参与人数 15吾爱币 +12 热心值 +13 收起 理由
skyn + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
隐世的王 + 1 我很赞同!
windy_ll + 1 我很赞同!
对影三人 + 1 + 1 谢谢@Thanks!
zhao. + 1 我很赞同!
整改到秃头 + 1 用心讨论,共<span id="transmark" style="display: none; wid
sunnylds7 + 1 + 1 谢谢@Thanks!
夕日黄 + 1 + 1 谢谢@Thanks!
fei8255 + 1 + 1 用心讨论,共获提升!
gaosld + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
smile5 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liu2531428 + 1 + 1 我很赞同!
xinkui + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
indian806 + 1 谢谢@Thanks!感谢分享,是不是按你这个思路,我也能破解其他的了
gg8899mm + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Likey 发表于 2019-9-12 13:24
LivedForward 发表于 2019-9-12 11:34
因为这样,程序启动就会将携带VIP的用户信息写入到程序,启动就是VIP了

我知道这样做的原因,就想知道怎么去实现这种破解?怎么切入入口或者说怎么知道哪里是切入点
 楼主| LivedForward 发表于 2019-9-12 11:34
Likey 发表于 2019-9-12 09:59
楼主能否指点一下“将此段smali代码复制到程序入口”这个是什么操作?何为程序入口?感谢

因为这样,程序启动就会将携带VIP的用户信息写入到程序,启动就是VIP了
yuo 发表于 2019-9-10 15:35
lep52 发表于 2019-9-10 15:39
学习一下,看看
jackroc 发表于 2019-9-10 15:40
大神操作
看不懂
麦迪就是帅 发表于 2019-9-10 15:52
不错哦,学习了!谢谢!!
只想划水 发表于 2019-9-10 16:53
裸奔的软件
supnet 发表于 2019-9-10 17:04
谢谢分享
leo_kan 发表于 2019-9-10 17:13
不错哦,谢谢分享
wang1415926 发表于 2019-9-10 17:15
前来学习,感谢分享
heb123 发表于 2019-9-10 19:08

谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 09:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表