一个漫画网站
正常浏览 图片没问题
当时当新窗口打开,或者你采集下来后 变成这样的错位图
原理应该是 图片链接本来就是图片错位的,
通过图片css之类的 把错位的图片恢复
这个防盗链 够彻底吧,除非你截图
有破解方法吗 或者具体用的啥原理呢
海南省网友说:只要是规律性的错位,都不是问题,不行连css一起采
辽宁省网友说:什么漫画站,我们研究下
陕西省网友说:你也用他的css不就行了
另外,没地址我怎么帮你看
海南省网友说:我下载出来的没有错位啊
海南省网友说:https://18comic.org/photo/221449
台湾省网友说:你强任你强,屏幕截图了解一下
江苏省网友说:我只是猜想,暂时不知道啥原理 https://18comic.org/photo/221449
青海省网友说:我能说 IP被办了吗
aws的IP 访问不了
山西省网友说:这个是通过JS移位的,要把JS文件还原才能知道过程。
吉林省网友说:推测用了一个最简单的Fisher–Yates Shuffle洗牌算法,加密后的图片分块错位,用密钥解密后即可展现正常。
青海省网友说:不能是js重排序吗?
辽宁省网友说:就是把图片重新画到canvas上
贵州省网友说:selenium能对标签截图
辽宁省网友说:这种一般是没法采集的吧
河南省网友说:function changePage(method, change_page_num, isMobile)
看页面中这个方法就行了 里面有个对图片进行裁剪重组的方法scramble_image
直接copy过来用就可以了
江西省网友说:研究研究
山西省网友说:function onImageLoaded(img) { var canvas; canvas = document.createElement(‘canvas’); img.after(canvas); var ctx = canvas.getContext(‘2d’); var s_w = img.width;//顯示尺寸 var w = img.naturalWidth;//原始尺寸 var h = img.naturalHeight; canvas.width = w; canvas.height = h; if (s_w > img.parentNode.offsetWidth || s_w == 0) { s_w = img.parentNode.offsetWidth; } canvas.style.width = s_w + “px”; var num = 10; var remainder = parseInt(h % num); var copyW = w; for (var i = 0; i < num; i++) { var copyH = Math.floor(h / num); var py = copyH * (i); var y = h – (copyH * (i + 1)) – remainder; if (i == 0) { copyH = copyH + remainder; } else { py = py + remainder; } ctx.drawImage(img, 0, y, copyW, copyH, 0, py, copyW, copyH); } $(img).addClass('hide'); } 复制代码
用python改一下就好了
安徽省网友说:进来跟大佬学习下技术
吉林省网友说:不得不说*漫天堂真的是NB