同步:https://zhufn.fun/archives/cpmgapi/
(为什么要加个pc呢因为手机版网页好像是没加密的)
首先我们打开一个漫画的目录页面并按下F12,可以看到请求目录的api返回了一坨16进制
进入发起该网络请求的js文件,可以看到eval巴拉巴拉
eval里的函数返回了一个字符串,将它存进js文件中,使用whistle替换请求的文件,在firefox中找到http请求的回调函数,打断点(主要是找到了'url': _0x1edb91 + _0x2f1f('0x19') + _0x124534 + '/chapters','success': function(){巴拉巴拉}
这里)。
运行到155行我们发现解密后的json存在了_0x336148
里。147,148两行是两个函数调用,a.b.c.d
被写成了a[b][c][d]
的形式。逐个对中括号里的表达式求值之后,得到这是函数是xxx.enc.hex.parse
,搜索函数名,找到CryptoJS
的相关内容得出此处在使用AES解密。密码是144行的dio
,iv偏移值是146行的_0x513f33
。这个时候我们直接拿json里的result
去解密是不行的,比较发现_0x2bee4f
比result
少了16位,而这16位是偏移值。去掉后再解密即可得到目录。
接下来是漫画阅读页面
F12没发现调用api,但图片是懒加载的。查看源码发现。。。
此处解密方式同上。