漫画网站破解-1
起因
碰巧遇到个韩漫小网站,刚看的兴起就要收费。付费是不可能付费的,然后就开始了如下的破解过程。
破解过程
F12打开一看,哟,这网站好高级。
如图,所有的图片不是常见的 https://img.domain/path/imagename
的格式出现,而是以blob的格式出现,而所有的图片一定是通过网络传输的,毕竟不可能凭空出现内容。
安全防护做的挺好,第一是请求加上了auth,并且,请求数据是加密的,返回的数据也是加密的。
比如请求数据
1FE8heap7dhnyi2J0RV9aC7Dk6+kC6zVoAg+IFB5X9QhyVrIkUoge7tuLe5K0jE0
这时候就只能盲猜了,代码的逻辑,应该是先通过API getChapterContent?
获取当前漫画的图片,然后获取对应的图片源文件,就如图的请求列表中,1.data,2.data之类的文件。
然后,随手下载一个1.data,把后缀名修改为.jpg之后,发现无法加载,文件内容有问题,文件加密了。
既然从1.data无法正常加载,而blob又能加载出正常图片,那么大概率是图片做加密/混淆了。
核心的关键就是找到图片从data 转换成 blob 代码。
从deepseek那里得到js的转换过程:
1 | // 通过fetch获取图片 |
关键词是 createobjectURL
,在代码中搜索这个关键词,得到几次代码,但是最符合上述代码的是这么一段:
在生成blob的代码中,有这么一句:i = new Blob([n.subarray(2, n.length)],{
问了deepseek之后,发现逻辑是这样的:
1 | n = [0x01, 0x02, 0xFF, 0xD8, 0xFF, 0xE0, ...] // 假设是 JPEG 字节流 |
原来就是把data文件的前两个字符去掉,然后重新保存成jpg就可以了。
至此,解决了图片的加密和解密,下一期,破解请求加密。