吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5002|回复: 88
收起左侧

[Android 原创] 某小说去壳+VIP分析

  [复制链接]
落尘大大和你呢 发表于 2024-6-25 19:56
本帖最后由 落尘大大和你呢 于 2024-6-27 11:54 编辑

前言

看完正己视频后一直想练手,又找不到好一点的目标,偶然一次听朋友说看小说要钱后就想到了一些小说APP,本来是直奔大一点的APP下手的,但是简单看了一下直接扔回收站了,转头找了一个小一点的APP作为练手。
PS:新手入门真不建议直接上手大厂APP,纯纯折磨。

某某小说

加固:腾讯加固。
检测:无frida检测,无xp检测。
版本:1.4.5

去壳


FunDex去壳,运行FunDex后启动APP等待一下后回到APP的私有目录会看到几个dex文件。

左边是APP私有目录,右边是APP结构。
对比一下dex文件可以发现左边有两个dex文件与右边的dex大小刚好一致,由此可以推断这两个dex文件就是壳,而剩下的dex文件就是脱壳后的。
把脱壳后的dex文件替换到APP结构目录中后修复一下dex文件签名APP安装(如有核心破解可不签名)。
启动APP无闪退即脱壳成功。

VIP分析

拖到jadx分析,isVip大法找到方法。

public boolean isVip() {
        return this.vip;
    }

在User类下定位到这个isVip方法,显然这个是用户信息类了。
我首先尝试使得这个isVip方法直接返回true

frida调试

 let UserVip = Java.use("com.*******.******.****.model.****.User");
    UserVip["isVip"].implementation = function () {
        let result = this["isVip"]();
        result = true;
        console.log(`User.isVip result=${result}`);
        return result;
    };

spawn 和 attach 模式均可以。
刷新一下APP后可以看到Hook代码回显。

同时APP也显示了会员信息。

测试一下vip功能是否正常:


显然只修改 isVip 的返回值是无法正常使用vip的功能的。

回到 isVip 方法继续分析:
查看方法的交叉引用:

其中这个return嫌疑最大,跟进方法分析

private static final boolean b() {
        User u = AppHelper.c().u();
        return (u == null || u.isVip() || u.getVipEndTime() == g.f("key_last_vip_end_time", 0L, 1, null)) ? false : true;
    }

其中的 isVip 方法已经处理过了,那么剩下的就是getVipEndTime方法了。
该方法直接返回了 vipEndTime 属性的数据。
不妨交叉引用看一下这个方法的调用:

str = String.format("会员有效期至:%s", Arrays.copyOf(new Object[]{DateTimeUtil.e(u.getVipEndTime() - 1440000)}, 1));

如此以来,代码就明确了。
虽然使得isVip方法直接返回了true,但 vip 的时间是小于当前时间的,所以vip功能无法使用。
1440000显然是时间戳了。
直接构造一个大于当前时间的时间戳使得 getVipEndTime 方法永久返回这个时间戳。

Hook

 let UserVipTime = Java.use("com.*******.******.****.entity.User");
    UserVipTime["getVipEndTime"].implementation = function () {
        // console.log(`User.getVipEndTime is called`);
        let result = this["getVipEndTime"]();
        result = 4735689600000;
        console.log(`User.getVipEndTime result=${result}`);
        return result;
    };

此时再看vip到期时间:


测试vip功能:


正常使用。

PS:这个APP还可以自定义用户名,如果直接调取 User类下的 getNick 方法设置返回值的话是无法正常显示自定义用户名的
需要在调用 getNick 方法前调用一次 GetMobile 方法。具体逻辑就不再阐述了。

结语

其实逻辑并不复杂,稍微有点 java 功底都可以分析出 vip 的逻辑。以上算是看完正己大佬视频后的一个小锻炼,不过这还远远不够,在我寻找目标时发现一款天气APP,也可以分析出 vip 的逻辑,再后来编写为XP模块,目前已经完成对两款APP的 vip 功能 hook。

免责声明:
以上分析仅作为技术交流,凡是以此文章作为破坏目标APP,牟利均与作者无关。

免费评分

参与人数 19吾爱币 +22 热心值 +16 收起 理由
Y735503578 + 1 热心回复!
junjia215 + 1 + 1 用心讨论,共获提升!
ma4907758 + 1 谢谢@Thanks!
x7032360 + 1 + 1 谢谢@Thanks!
bigzhang + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
canty胖胖 + 1 + 1 谢谢@Thanks!
f123y + 1 谢谢@Thanks!
janken + 1 + 1 热心回复!
抱歉、 + 1 用心讨论,共获提升!
debug_cat + 2 + 1 谢谢@Thanks!
Lsais + 1 我很赞同!
唐小样儿 + 1 + 1 我很赞同!
wapjsx + 1 + 1 不明觉厉!
jy138290 + 1 + 1 谢谢@Thanks!
lgc81034 + 1 谢谢@Thanks!
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Itzhaks + 1 + 1 用心讨论,共获提升!
vintager359 + 1 + 1 谢谢@Thanks!
花二娘 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

pxhzai 发表于 2024-6-26 00:49
以下是20个知名的小说应用程序名称,这些应用在中国广受欢迎,提供了丰富的小说资源和良好的阅读体验:

1. 爱奇艺小说
2. 书旗小说
3. 掌阅iReader
4. QQ阅读
5. 翻阅小说
6. 多看阅读
7. 宜搜小说
8. 免费小说大全
9. 阅文小说
10. 米读小说
11. 追书神器
12. 17K小说
13. 飞卢小说
14. 晋江小说阅读
15. 起点读书
16. 红袖添香
17. 塔读文学
18. 横扫天涯
19. 百度阅读
20. 熊猫看书

这些应用不仅提供了广泛的图书选择,包括原创小说、经典作品、网络小说等多种类型,还常常有个性化推荐、夜间模式、离线下载等功能,满足不同读者的需求。
小夜好坏 发表于 2024-6-25 20:11
kittylang 发表于 2024-6-25 20:59
abc1234567890 发表于 2024-6-25 21:11
膜拜ing,视频还没学完
MrQuinn 发表于 2024-6-25 21:31
和楼上一起膜拜中!
lujiaqi66 发表于 2024-6-25 21:39
感谢分享!@!!!!
yan999 发表于 2024-6-25 21:43
感谢分享!!!
huguiquan 发表于 2024-6-25 22:14
大佬,膜拜,如何联系您啊,有问题请教!
TwentyFour 发表于 2024-6-25 22:31
想请问一下 ,如果是作者要怎么修改这个才,能防住被破解
rimelight 发表于 2024-6-25 22:47
感谢分享!
出现了,真正的逆向基础:isVip(不是
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-9-8 09:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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