BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:11939回复:37

百度免转向用户脚本 2012-09-30更新

楼主#
更多 发布于:2012-09-26 22:27
简介

九月初百度开始加密搜索结果,每次点击百度的搜索结果,浏览器都会访问百度的服务器进行转向。在花费时间流量转向的同时,转向链接中可能还包含其它的信息(IP、浏览器、操作系统类型及版本等)。这个脚本的作用就是把这个转向链接替换为真实的链接。

支持的平台

需要支持FileReader、Blob、Typed Array的浏览器。推荐使用以下组合。
Firefox: Greasemonkey、Scriptish
Chrome: Tampermonkey (原生的Chrome用户脚本功能不支持报错功能。)

限制

由于百度的加密原理没有完全破解,所以部分网址不能被替换。在不能替换或替换错误的情况下,可以通过点击报错按钮报告这一情况。我会记录下有问题的加密链接并据此开发更新版本。

用途和许可证

本脚本免费供浏览器用户使用,但暂时并不开源。原因有三:
1. 加密原理没有完全搞清
2. 不想被用作SEO、采集等用途
3. 不想逼百度更换加密算法


====== Known Issues ======

* 不能转换过长的网址。

====== Changelog =======

0.2     2012-09-30
* 使用Typed Array,所以解码速度变快了
* 使用GB18030进行解码,支持未经escape的中文字符
* 使用Asynchronnous calls,减少界面卡顿时间
* 遇到不支持GM_*函数的情况下,不再报错(建议使用测试通过的用户脚本管理器)
* 改写部分代码,改进性能

0.1.1   2012-09-29
* 可以破解更多的网址了

0.1     2012-09-26
* 最初发布

安装地址
http://userscripts.org/scripts/source/149118.user.js
taglife
千年狐狸
千年狐狸
  • UID38488
  • 注册日期2012-03-20
  • 最后登录2013-04-02
  • 发帖数2052
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
1楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
BoneJumper:扩散。扩散。散。回到原帖

扩散。扩散。散。??????
什麼转向?! 什麼加密原理?!
Firefox 開啟安全模式,停用個人設定、佈景主題及擴充套件(無附加元件)測試:
說明 > 重新啟動但停用附加元件(Firefox 4+)
Firefox Profile: 說明 > 疑難排解資訊 > 開啟資料夾
排版引擎:Firefox(Gecko), Opera(Presto), Google Chrome(WebKit),
Safari(WebKit), Internet Explorer(Trident), Konqueror(KHTML)
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
taglife
扩散。扩散。散。??????
什麼转向?! 什麼加密原理?!
回到原帖


呵呵 台湾的朋友。“求扩散 扩散 散”这种是一段时间前在大陆网络上开始流行的一种模拟回音的句式。

百度在九月初的时候,出于各种原因吧,把他们的搜索结果变成了http://www.baidu.com/link?url=十六进制字符串的形式。这个userscript的作用就是恢复到原本的直接链接。

加密原理现在还不想公开,因为我也没有完全探索出来。还有一部分的计算方式不明。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-09-05
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
3楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
百度这招就是防止其他搜索直接利用百度搜索结果。一攻防战的浑水。扩散太大,恐怕百度就改算法了。

一种变通思路,利用GreaseMonkey把百度加密的链接,访问一遍,获取HTTP的头部,得到揭秘后的URL,然后替换掉搜索结果页的链接。

用户打开搜索结果页后还要看一下。几秒钟时间就把链接转了,也比较透明吧。

只是访问百度跳转服务器的请求过多,不知道会不会被百度封。
MalcKear
千年狐狸
千年狐狸
  • UID35386
  • 注册日期2011-03-05
  • 最后登录2020-03-02
  • 发帖数1348
  • 经验131枚
  • 威望0点
  • 贡献值16点
  • 好评度10点
  • 社区居民
  • 忠实会员
4楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本


呵呵 台湾的朋友。“求扩散 扩散 散”这种是一段时间前在大陆网络上开始流行的一种模拟回音的句式。

百度在九月初的时候,出于各种原因吧,把他们的搜索结果变成了http://www.baidu.com/link?url=十六进制字符串的形式。这个userscript的作用就是恢复到原本的直接链接。

加密原理现在还不想公开,因为我也没有完全探索出来。还有一部分的计算方式不明。

这是回音你懂吗?
这是回音你懂?
这是回音你?
这是回音?
这是回?
这是?
这?
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
fiag:百度这招就是防止其他搜索直接利用百度搜索结果。一攻防战的浑水。扩散太大,恐怕百度就改算法了。

一种变通思路,利用GreaseMonkey把百度加密的链接,访问一遍,获取HTTP的头部,得到揭秘后的URL,然后替换掉搜索结果页的链接。

用户打开搜索结果页后还要看一下。几秒钟时间就把链接转了,也比较透明吧。

只是访问百度跳转服务器的请求过多,不知道会不会被百度封。
回到原帖


是的,代码混淆的部分原因就是不想逼得百度改算法。这段脚本的服务对象只是普通用户,而不是想被用作SEO、采集等目的。当然,代码很短,反混淆也是可能的。不过有心的人不必破解我的脚本,直接破解百度的算法就好,说不定做得还比我好呢。

至于curl出response的头部这种方法,用作采集、SEO的时候比较make sense。一般用户使用的时候额外造成许多http请求更加不合理,何况浏览器对向相同域的请求有并发限制,也是不实用的原因之一。
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
MalcKear
这是回音你懂吗?
这是回音你懂?
这是回音你?
这是回音?
这是回?
这是?
这?
回到原帖

  应该是
这是回音你懂吗?
   是回音你懂吗?
      回音你懂吗?
         音你懂吗?
            你懂吗?
               懂吗?
                  吗?
白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2024-09-21
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
7楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
没必要混淆,增加人为障碍是小事,eval的性能损失是有目共睹的
再说你未免太 [s]高估[/s] 小看 百毒的服务器了,度受在怎么说也是中文最大的(或者说曾经?)搜索引擎,就算你个人pc以连接数上限卯足了劲post,估计那边的服务器也就1%的流量波动

没说错的话你用的是Javascript Obfuscator吧,试试看把你的代码po到这里面然后点一下Beautify
-いたんですか? -ええ、ずっと
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
白左:没必要混淆,增加人为障碍是小事,eval的性能损失是有目共睹的
再说你未免太 [s]高估[/s] 小看 百毒的服务器了,度受在怎么说也是中文最大的(或者说曾经?)搜索引擎,就算你个人pc以连接数上限卯足了劲post,估计那边的服务器也就1%的流量波动

没说错的话你用的是Javascript Obfuscator吧,试试看把你的代码po到这里面然后点一下Beautify
回到原帖


eval的代价我了解。直觉上感觉并不会影响太多,因为算法里真正解密的部分不多,DOM操作才是又多又慢的主。等着我做个测试看一下性能差距有多大。

采用混淆的确是下策。不过没有办法,如果这段解码程序被其它地方使用,百度可能狗急跳墙改变算法。还有就是我并没有完全破解百度的加密方法,所以不想公开不完美的作品。我已经留下email,谁想参与剩下的破解工作我非常欢迎。

并发链接限制并不是在百度那边,而是在用户这边。浏览器限制向同一domain的并发链接数量不超过一个特定数,多余的要排队。
royallin
非常火狐
非常火狐
  • UID29014
  • 注册日期2009-05-31
  • 最后登录2016-12-07
  • 发帖数668
  • 经验46枚
  • 威望0点
  • 贡献值32点
  • 好评度0点
  • 社区居民
9楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
反盗链一下不就行了。
mason或者反盗链的扩展都可以。
taglife
千年狐狸
千年狐狸
  • UID38488
  • 注册日期2012-03-20
  • 最后登录2013-04-02
  • 发帖数2052
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
10楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
royallin:反盗链一下不就行了。
mason或者反盗链的扩展都可以。
回到原帖

怎麼用啊 沒懂
Firefox 開啟安全模式,停用個人設定、佈景主題及擴充套件(無附加元件)測試:
說明 > 重新啟動但停用附加元件(Firefox 4+)
Firefox Profile: 說明 > 疑難排解資訊 > 開啟資料夾
排版引擎:Firefox(Gecko), Opera(Presto), Google Chrome(WebKit),
Safari(WebKit), Internet Explorer(Trident), Konqueror(KHTML)
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本
royallin:反盗链一下不就行了。
mason或者反盗链的扩展都可以。
回到原帖


不明白 愿闻其详
royallin
非常火狐
非常火狐
  • UID29014
  • 注册日期2009-05-31
  • 最后登录2016-12-07
  • 发帖数668
  • 经验46枚
  • 威望0点
  • 贡献值32点
  • 好评度0点
  • 社区居民
12楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本 2012-09-29更新
fiag:分享下,我用refcontrol,baidu.com 设置为“伪装”, “只在其他站点链入时执行”

导入refcontrol的规则文件
[RefControl]
baidu.com=@3RDPARTY:@FORGE
回到原帖



mason配置: 反-防盗链 包含:baidu\.com
BoneJumper
小狐狸
小狐狸
  • UID35586
  • 注册日期2011-03-23
  • 最后登录2013-09-03
  • 发帖数31
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2012-09-26 22:27
Re: 百度免转向用户脚本 2012-09-29更新
royallin


mason配置: 反-防盗链 包含:baidu\.com
回到原帖

这不是在图片无法显示的时候用的东西吗?和这个脚本干的不是一回事。
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-10-28
  • 发帖数18486
  • 经验4840枚
  • 威望5点
  • 贡献值4316点
  • 好评度1117点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
14楼#
发布于:2012-09-26 22:27
很好的脚本,百度现在也学Google,劫持真实的搜索结果
Firefox More than meets your experience
上一页
游客

返回顶部