解除百度云浏览器端对下载大文件的限制
2016-05-21 19:41
309 查看
百度网盘对浏览器端下载大文件做了一些限制,当超过一定大小的文件必须使用百度云管家才可以下载,这给用户的使用带来了不便。
[不看分析请直接拉到页底]
1. 百度网盘限速原理
当点击下载一个大文件的时候百度网盘会弹出这样一个提示框。
我们给下个断点,看看是什么代码创建了这个提示框。
然后再次点击下载一个大文件,我们发现断点已经断下来了。
可以看出这里是在把提示对话框显示出来,我们需要查看调用栈往上找找。
跳过一些jQuery的操作,我们看到了这样一个函数,继续往上找。
这个isPlatformWindows的分支很可疑,我们跟进去看一下,于是我把DOM断点取消了,并在1748行这里下了个断点。
断下来了,跟进去看看。
这个函数只是简单的判断了 navigator.platform 这个平台相关的字符串,我们修改一下看看会发生什么结果
让代码继续跑起来
嗯,我们成功了。
2. 写段代码来破解吧
从上面的调试中我们已经知道了百度是通过判断 window.navigator.platform 是不是以 win32 开头来判断是否是运行浏览器下载的,所以我们只需要修改这个变量就轻松解除了限制。
经过尝试我发现,platform这个属性被百度冻结了。
所以只能修改 navigator 。
修改代码如下:
一句话总结:
打开浏览器控制台(F12) 在命令行行 Object.defineProperty(this , 'navigator' , {value: { platform: "" }}); 这段代码即可解除百度网盘对浏览器下载大文件的限制。
[不看分析请直接拉到页底]
1. 百度网盘限速原理
当点击下载一个大文件的时候百度网盘会弹出这样一个提示框。
我们给下个断点,看看是什么代码创建了这个提示框。
然后再次点击下载一个大文件,我们发现断点已经断下来了。
可以看出这里是在把提示对话框显示出来,我们需要查看调用栈往上找找。
跳过一些jQuery的操作,我们看到了这样一个函数,继续往上找。
这个isPlatformWindows的分支很可疑,我们跟进去看一下,于是我把DOM断点取消了,并在1748行这里下了个断点。
断下来了,跟进去看看。
这个函数只是简单的判断了 navigator.platform 这个平台相关的字符串,我们修改一下看看会发生什么结果
让代码继续跑起来
嗯,我们成功了。
2. 写段代码来破解吧
从上面的调试中我们已经知道了百度是通过判断 window.navigator.platform 是不是以 win32 开头来判断是否是运行浏览器下载的,所以我们只需要修改这个变量就轻松解除了限制。
经过尝试我发现,platform这个属性被百度冻结了。
所以只能修改 navigator 。
修改代码如下:
Object.defineProperty(this , 'navigator' , {value: { platform: "" }});
一句话总结:
打开浏览器控制台(F12) 在命令行行 Object.defineProperty(this , 'navigator' , {value: { platform: "" }}); 这段代码即可解除百度网盘对浏览器下载大文件的限制。
相关文章推荐
- 坐标转换-终结者--OpenCoord提供下载了
- 2016年上半年软考网络工程师考试下午试题参考答案第一时间发布
- mina解决粘包,找不到解码器,数据帧重传的问题
- 16、在JavaScript中,命名的一些规范
- KMP,深入讲解next数组的求解
- Unity发布iOS后 闪屏图片 也就是splash image先黑一下 然后才显示
- 九度OJ 1000:计算A+B
- CRT与Windows的关系【转】
- 自定义view实现水波纹效果
- 使用highcharts完成实时信息显示的动态波动图表
- python--文件操作之遍历目录
- Light oj 1387 - Setu【字符串】
- nyoj 37 LCS
- JSP学习笔记(2)-JSP语法
- shiro实现APP、web统一登录认证和权限管理
- 百度地图定位最新
- 剑指offer之编程(八)
- 一次有趣的telnet,发邮件
- iOS 数据存储方式(XML属性列表-plist)
- 素数筛 codevs 1675 大质数 2