本帖最后由 tlc123 于 2022-11-20 17:26 编辑
https://www.52pojie.cn/thread-1707463-1-1.html
最近再论坛看到了这篇帖子,没想到,我自己经常用的这个APP竟然没有加壳,也可以破解,所以就自己研究了一下,步骤跟帖子不太一样,不过也是有所参考,感谢~
1、所需工具
- jadx-gui
- 雷电模拟器
- 小黄鸟
- MT管理器
- 主角:xi窗烛
2、分析
2.1、app信息
2.2、看一下需要会员的地方
这些地方都与会员有关系
2.3、关键字"未开通"
咱们从这个未开通开始破解工作
jadx打开apk,所有”未开通“
很明显,这个文本肯定是在代码里面赋值的,点击第二条搜索结果进去
看,我们发现了什么,终身会员、会员、高级会员
我们来看截图的第2行和第9行,有两个关键的判断,点进去看看
看得出来c方法里面又调用了b方法,并且是 || 或的关系,所以我们指关注b方法即可,至此,我们可以得出一些分析结果:
[Asm] 纯文本查看 复制代码 premiumMembership:高级会员
lifetimeMembership:终身会员
那么这个时候,就回想了,我们有没有可能通过URL代{过}{滤}理来直接修改自己账户的会员级别呢,不多说,上小黄鸟
2.4、小黄鸟
不多说怎么使用,咱们直接开始抓包吧
紧接着启动APP
请求很多,咱们直接搜索上一步怎们找到了关键字premiumMembership和lifetimeMembership
感觉与User相关,主要是截图里面的url,我们点进去看看相应是什么
[Asm] 纯文本查看 复制代码 {
"premiumMembership":false,
"bindHuawei":false,
"chatEnabled":true,
"followersCount":1,
"usernameOrDescSpam":false,
"likedAuthorsCount":0,
"listsPrivacy":0,
"autoCopyToChild":false,
"ipAddressForShow":null,
"isAdmin":false,
"male":true,
"studyPlansPrivacy":0,
"ban":false,
"lifetimeMembership":false,
"autoHide":false,
"receivedLikesCount":0,
"didFixLikedWorksCountIfNeeded3":true,
"likedWorksCount":5,
"publicListsCount":0,
"xczNumberId":122017478,
"username":"xxx",
"bindWechat":true,
"studyDays":0,
"xczId":"111",
"postsPrivacy":0,
"membership":false,
"attributesForAdmin":{
},
}
我们很明显的发现:
[Asm] 纯文本查看 复制代码 "premiumMembership":false,
"lifetimeMembership":false,
这个。。。是不是太容易了些呢
那就简单了,我们把这些值都改成true,不就行了嘛,哈哈哈,so easy啊
不多说,直接重写,然后重启APP
呵呵呵,惊不惊喜,意不意外,还是没有变成会员
(本人纯小白,最后也没明白是什么原因,有大佬知道,可以指教一下~)
2.5、MT管理器
既然如此,咱们还是回到代码分析上来:
咱们可以把方法b直接返回true是不是就可以了呢,说做就做
不多说,直接用MT管理器的Dex编辑器++打开所有的dex文件
然后直接搜索,咱们之前定位的关键字premiumMembership
只有一条结果,我们直接定位到了b方法
2264行,返回了p0,我们知道肯定是false,所以我们需要修改为true
在2263行,直接给p0赋值为true
然后咱们保存、重新打包,卸载之前的app,然后安装我们修改后的apk,启动app看看
可以看到已经增加了vip的标识,我们再来看搜索是否还会有成为会员字段
也没有了,完美啊~~~~
我们看看是不是可以添加书了
虽然显示已经是高级会员,但是点击的时候,还是会报错,所以。。。
2.6、关键字"点击领取"
看这一张图,我们以这些字作为切入点,搜索看看
是Android里面的布局文件activity_book_info.xml,点进去看看
然后我们看下activity_book_info.xml这个文件谁使用了
使用的类叫做BookIntroActivity,然后在这个类里面搜一下xml里面的id
赋值给了w,因为是个按钮,肯定是有点击事件的,我们找下
找到了,是e,继续跟
又调用了y,继续
又。。。又。。。调用了h,
领取成功!!!!!感觉终于要成功了啊
我们可以看到领取成功之后,主要是执行了x方法,所以我们是不是可以把那个if判断给去掉呢。
来继续上MT
直接把57行去掉,然后编译
3、结果
成为了高级会员,并且可以领取书籍了
4、扩展
MT管理器,帮我们进行了编译、打包和签名,如果不依赖MT管理器,是否也可以呢,后续研究一下。
|