1.反编译工具
2.抓包工具
3.ksweb
演示软体:
飒漫画 3.3.22
(目前最新3.3.23 我懒惰更新)
收费限制:
1.vip章节
2.付费章节
3.超前章节
新机可领取3天白金会员(无需登录)
教程开始:
关于本地解锁部分教程不会细谈
以及广告的处理这也不会讲解
这里主要谈谈3天vip结束后 vip章节都无法观看问题
由于软件有3天试用 很多人在破解的时候 以为改了本地限制就完成了,其实不然,软件是有服务器验证的,3天vip结束后,vip以上的章节都不会有链接,所以就会导致vip章节白屏的情况。
Screenshot_20210721-210900.jpg (86.83 KB, 下载次数: 0)
下载附件
2021-7-22 01:16 上传
至于本地限制
主要就是判断章节是否vip,收费或超前
只要把相关限制解除 就能观看了
(前提是 本身得是真正的vip会员)
这里只给出关键词
细节则请自行抓包分析
isvip 解锁vip章节限制
is_open_draw 解锁超前章节限制
chapter_charge_status 解锁收费章节限制
另外也可以把price结果改0
以上修改仅仅在还是试用会员的情况下 解除超前与收费章节限制
接下来就是试用会员结束后的处理
从文中可以知道软件提供新机3天试用
聪明的网友可能想到了搞个随机数 每3天或每次打开都是新用户
可是 它有个问题 这软件属于阅读类 阅读历史极为重要 如果每次都新用户 也就说明 不会有阅读记录保存 那即使达到了解锁vip
但也无法达到使用上的满足
这里可以换个思路 整个软件真正限制的地方在于阅读的时候 需要付费解锁
所以是不是就可以只修改阅读部分的限制?
有了想法 就开始抓包吧
主要分析这一条数据包
[ol]
图中为返回的数据 已对重要位置做了标记
Screenshot_20210721-223751_MT Manager.jpg (267.72 KB, 下载次数: 0)
下载附件
2021-7-22 01:17 上传
接着用浏览器访问免费章节的source_url看看 可以发现 是章节的链接
Screenshot_20210721-224510_Browser.jpg (322.77 KB, 下载次数: 0)
下载附件
2021-7-22 01:17 上传
现在知道为什么会白屏了吧?
因为到期后 vip以上的链接不提供了 导致软件无法读取 所以即使修改本地限制也无用 因为最终验证在服务器。
从免费章节的数据里可以发现
除了红线处会根据chapter_id产生变化之外,source_url的链接 基本是一样的。
Screenshot_20210721-225108_MT Manager.jpg (314.35 KB, 下载次数: 0)
下载附件
2021-7-22 01:17 上传
这是不是就说明 可以自行把残缺的部分补上?
这里给出3种思路 但只给出一种适合我的演示,同时这些思路不仅仅只适用于此,具体请自行发挥想象。
1.通过正则重写getcomicinfo_body的返回数据 将残缺部分补上
2.为了保留历史,可以只对getcomicinfo_body的uid进行修改
(注:经过分析发现只要对uid进行修改即可重新拥有3天vip)
可是当我搜索dex发现 有多处使用getcomicinfo_body
Screenshot_20210721-230410_MT Manager.jpg (239.19 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
接着我又发现 get数据的uid是封装好后直接被多处调用
Screenshot_20210721-230726_MT Manager.jpg (230.72 KB, 下载次数: 1)
下载附件
2021-7-22 01:18 上传
由于以上的思路 我得通过电脑写个Java代码去完成 可是我又不想打开电脑
然后又如我这般的懒人就衍生出了思路3
通过php重写数据 这样我就可以全程使用手机完成
使用php首先需要一台服务器
(有服务器的可以绕过这段)
没服务器的可以借助ksweb 在自己手机上搭建一个
ksweb属于傻瓜式一键安装
安装好后运行软件 会看到如下界面
我这里直接使用默认配置
Screenshot_20210721-232431_Samsung capture.jpg (152.85 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
接着使用浏览器访问
http://localhost:8080/
或
http://127.0.0.1:8080/
出现如图中结果即为成功
Screenshot_20210721-232706_Browser.jpg (258.15 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
接着sdcard目录下会有一个htdocs目录
这个目录是http访问的目录,可以把php放进这里
Screenshot_20210721-234809_MT Manager.jpg (9.08 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
这里新建一个目录 命名为xndm
Screenshot_20210721-234832_MT Manager.jpg (16.5 KB, 下载次数: 0)
下载附件
2021-7-22 01:19 上传
接下来反编译dex,搜索getcomicinfo_body,随便点一个进入
如图跟随
20210722_001747.jpg (88.23 KB, 下载次数: 0)
下载附件
2021-7-22 01:19 上传
可以看到 会在这里调用域名,然而这个域名也会在多处被调用,所以不能直接修改为本地服务器地址,不然会导致所有链接都会变成调用本地域名,那就需要写个判断 仅仅只实现指定的链接
Screenshot_20210721-233217_MT Manager.jpg (111.48 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
图为修改后 修改好了就可以打包了
Screenshot_20210721-234711_MT Manager.jpg (166.03 KB, 下载次数: 0)
下载附件
2021-7-22 01:18 上传
接下来需要写一份php代码
在xndm目录新建index.php文件
接着文本打开 写入如图代码
Screenshot_20210722-001502_MT Manager.jpg (339.99 KB, 下载次数: 1)
下载附件
2021-7-22 01:19 上传
好了 现在可以打开软件了 可以发现收费章节已经可以正常观看了
Screenshot_20210721-211501.jpg (291.82 KB, 下载次数: 0)
下载附件
2021-7-22 01:17 上传
本次教程今天就到这里
后记:
这次主要是通过php利用3天试用达到阅读效果
如果有天不再有3天试用 依旧可以利用php通过正则重写json数据 把source_url补全
不过以后的事以后再说
同样的不想通过php可以使用思路2 在java层把getcomicinfo_body的参数重新封装 也能达到一样的效果
今天的教学 你学会了吗?