记一次ipad绘本应用破解过程
2021/11/17 其他
缘由
儿子去年两岁多,开始喜欢读绘本,也看了很多实体书,当时有一个闲置的16Gipad,于是下载了一个绘本app,试读几本还不错,于是花了我168大洋买了一年的服务(PS:当时以为是永久阅读包,还送了一些实体书籍
)
开始时使用频繁,但书本更新频率较低,现在为保护视力,大概也就一周看一两本,前段时间发现vip
已经过期了,但是孩子还是想看,本想着已经下载到本地的应该能继续看,也就够了,没想到只剩下一点点免费书籍可以看了,看了几周就厌倦了,告诉我想看别的书,我寻思着去咸鱼找找有没有优惠或者永久阅读包,毕竟100多,只看十几次挺浪费的,找了几天没有找到,今天晚上得空,打算看看这个绘本是怎么制作的。
开始抓包
- 使用
Charles
开始抓包,YYDS。
在ipad
中安装根证书出现一些小问题,一直显示“写出失败”,后来将根证书导出为cer
格式,上传到服务器,ipad使用safair成功导入。
- 设置ipad代理
找到对应Wifi网络,设置网络代理(服务器、端口)到我的笔记本电脑中,设置好后,Charles
连接成功。
- 打开ipad应用开始抓包
从接口中抓取到vip_status
,信息,猜测vip_type
表示vip类型,expire_time
表示过期时间,看了下日期,是可以对应上的。
着手破解
从抓包信息中看,我只需要修改接口中的vip_status
和expire_time
就行了,于是尝试劫持请求到自定义服务接口,并篡改结果。
破解失败
转发修改了多个接口,修改了对应的用户状态,但在pad端均未做到破解效果,我猜测是这方面的数据有一份加密对比。
如图,返回的结果中有一组_s
的json数据,看似是base64
加密的,尝试了多种解密方法均以失败告终。
实施方案2
方案1已确定行不通,遂放弃,在pad端中发现很多免费绘本,准备实施方案2,劫持绘本接口,将绘本改为免费绘本,就可以免费阅读啦,过程同上。
虽然界面UI修改为免费了,但是在看书的过程中,还是会动态对比用户状态,看几页就不能看了。
实施方案3
在方案2中,发现绘本均是zip
的包体,如果我下载这些包体,重新打包,或者说写个程序运行这些包体,相当于做个简易绘本读取软件不就不用破解了!
看结构是cocos的项目文件,里面有场景画面和音频素材,但是、但是有密钥加密,无法直接预览,要把这个运行起来十天半个月都不一定能搞定,放弃了。
实施方案4
观察到一个接口,是从服务器获取当前时间的,突发奇想,以前玩手机游戏,会把系统时间改掉,在游戏里面提前领取奖励,不知道在这里是否行得通
如上,直接把现在的时间,改为我到期日期的前段时间,这次竟然成功了!!!!!!!
完美方案
没想到最终的解决方案如此简单,这里还有个体验问题,不可能让孩子每次看绘本,我都得抓包、转发这样处理,太麻烦了。这个绘本是支持离线阅读的,最终我的方案是,在家庭网络的hosts
里面转发授时接口,这个接口会返回一个虚假的时间,同时把ipad的系统时间改为我的会员日期之前,最终的效果是大概每年我调整一下ipad的时间就可以了,并且小家伙只要在家庭网络下,都可以看以前下载过的绘本。
终极效果:
留住了美好的虚拟时间,可现实的时间永远在向前,希望你永远开心快乐,我的崽。
评论加载中...