去除某网上图书馆的复制限制
2023-2-8 17:35:0 Author: xz.aliyun.com(查看原文) 阅读量:26 收藏

0x01 起因

在网上找了一篇比较好的文章,想复制保存到自己的笔记中,复制后出现了如下截图


想复制一点儿文字,都需要登录,还需要会员.

来分析下页面的前端JS吧


0x02 分析右键点击事件

我用的是Google的浏览器:

该网站,鼠标右键点击以后的图如下:

正常的页面,鼠标右键点击以后的图片如下:

看来是劫持了正常的鼠标右键响应事件


0x03 分析JS事件劫持的关键代码

打开Chrome的调试工具, F12打开
如图所示: 定位到 oncontextmenu

点击进入关键代码, 格式化JS

看了下默认返回值是false, 直接定位到关键的返回行
7536,7537行代码

在 7536行下断点

鼠标右键重新触发,执行到指定行
console中关键变量的值
isContentMenu 是 true
重新赋值 isContentMenu = false

运行后的效果如下:

原始的鼠标右键事件被还原回来了.


0x04 去除复制的限制

选中 页面的指定文字后, 出现复制的选择栏如下:

定位关键的copy事件:

格式化js,定位到关键行:9201行

简单分析下js,发现了一个关键变量;
isNotPayCopy

这个变量的名字很好理解了,没付款的用户不能copy
开始调试到指定行,直接更改变量的值

直接 isNotPayCopy = true

测试复制成功了


0x05 F12直接源码复制的方法

这种方法不多介绍了

多行复制的话,需要处理html, 也可以, 比较常用, 这里只是分析了下页面的js文件


0x06 扩展

主要介绍几点:
1, 页面原本的静态JS是加密的,想js替换的话,需要先解密,没有分析js的加密方式,未做替换操作
2, 这种反复制的方案,对爬虫的限制基本为零,主要目的是为了用户注册充值的.


文章来源: https://xz.aliyun.com/t/12127
如有侵权请联系:admin#unsafe.sh