BookWalker TW - 抓取反混淆后的漫画页
抓取渲染的一整页,可利用浏览器作为爬虫下载。
const c = document.createElement('canvas');
const backup = window.NFBR.a6G.a5x.prototype.b9b;
window.NFBR.a6G.a5x.prototype.b9b = function () {
const [targetCanvas, page, image, drawRect, flag] = arguments;
if (image) {
// 如果 image === null ,那么这一页是空白页。
c.width = image.width;
c.height = image.height;
backup.call(this, c, page, image, {x:0, y:0, width:image.width, height:image.height}, flag);
// c 现在有整页图
// 用 c.toDataURL() 等函数提取图像内容
}
return backup.apply(this, arguments);
}
Hook 的是渲染函数,所以可能会出现上下一页的预渲染内容;page
对象又包含被渲染图像的一些元信息,可以预览下截取的图像内容:
// 预览抓取缓冲区的内容
c.style.cssText = "position: fixed; left: 10px; top: 10px; transform: scale(0.3); transform-origin: left top; user-select: none; pointer-events: none; border: 4px solid red;"
document.body.appendChild(c);
处理字符串混淆的代码就不放出来了,基本上都是手工活 T-T。