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。

Jixun

Jixun

学习与游戏的旅途,各类杂谈。