解析百度搜索结果link?url=(四)

作者:enenba | 发表于:2012-10-30 17:47 | 分类:php采集

百度又更新了。以下内容又失效了

首先感谢 恒通 提供的破解结果和思路。以下是根据结果写出一个解密的php版本。目前只解析了80位。剩下位数可以采集足量的url补全。

不多说了上源码:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>查询百度link?ulr=真实链接表单 by enenba.com</title>
</head>
<body>
<?php
//$ascii码表x,y位置
$ascii = array(
	0=>array(' ','!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/'),
	1=>array('0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?'),
	2=>array('@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'),
	3=>array('P','Q','R','S','T','U','V','W','X','Y','Z','[','\\',']','^','_'),
	4=>array('`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o'),
	5=>array('p','q','r','s','t','u','v','w','x','y','z','{','|','}','~',' '),);
//url第N个位置对应的(x,y),目前只得到80位的url
$data  = array(
	array(13,10),
	array(10,1),
	array(16,15),
	array(7,6),
	array(5,13),
	array(18,9),
	array(13,11),
	array(7,12),
	array(10,5),
	array(15,9),
	array(15,9),
	array(13,5),
	array(16,11),
	array(0,1),
	array(8,2),
	array(8,5),
	array(0,0),
	array(17,15),
	array(14,8),
	array(2,1),
	array(10,5),
	array(17,14),
	array(16,5),
	array(3,8),
	array(14,9),
	array(5,8),
	array(15,1),
	array(3,15),
	array(13,10),
	array(10,12),
	array(5,7),
	array(0,2),
	array(18,14),
	array(0,15),
	array(1,6),
	array(13,5),
	array(2,1),
	array(15,14),
	array(18,8),
	array(18,9),
	array(1,10),
	array(14,14),
	array(13,2),
	array(5,3),
	array(5,8),
	array(0,4),
	array(1,5),
	array(16,1),
	array(8,1),
	array(2,5),
	array(10,7),
	array(10,15),
	array(14,14),
	array(17,3),
	array(15,0),
	array(14,5),
	array(7,7),
	array(3,4),
	array(14,8),
	array(12,0),
	array(13,12),
	array(12,3),
	array(6,5),
	array(3,1),
	array(1,14),
	array(5,4),
	array(0,12),
	array(7,0),
	array(10,7),
	array(15,12),
	array(8,2),
	array(18,15),
	array(3,12),
	array(1,12),
	array(0,15),
	array(17,4),
	array(17,2),
	array(11,1),
	array(3,12),
	array(11,5),
	array(0,13),
	array(1,1),
	array(2,12)
);
//所有的y值
$y = array(
0=>
'0123456789abcdef',
'1032547698badcfe',
'23016745ab89efcd',
'32107654ba98fedc',
'45670123cdef89ab',
'54761032dcfe98ba',
'67452301efcdab89',
'76543210fedcba98',
'89abcdef01234567',
'98badcfe10325476',
'ab89efcd23016745',
'ba98fedc32107654',
'cdef89ab45670123',
'dcfe98ba54761032',
'efcdab8967452301',
'fedcba9876543210'
);
//所有的x值
$x = array(
0=>
'016745',
'107654',
'234567',
'321076',
'325476',
'452301',
'543210',
'670123',
'765432',
'761032',
'89abcd',
'89efcd',
'98fedc',
'abcdef',
'badcfe',
'cdab89',
'dcba98',
'ef89ab',
'fe98ba'
);
$input = '请输入百度搜索结果url,带link?url=的那种<br>比如:http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99fdd688681db1fb62cb8c9daa<form method="get" action=""><input type="text" name="url" id="url" style="width:800px;" /><input type="submit" value="提交" /></form>';

$url = isset($_GET['url'])?$_GET['url']:'';
if(empty($url)) {
	echo($input);
}else{

	//解密过程:
	$search = '/30fc293c5e471ef23de092fddc99([0-9a-f]+)/i';
	preg_match($search,$url,$r);
	$url_encode = $r[1];  unset($r); // 得出密文部分
	$url_encode_arr = str_split($url_encode,2); // 两位密文为一组的密文的数组
	$result='';
	foreach ($url_encode_arr as $k=>$v){ 
		//读取每一组密文的x 和 y
		$one = str_split($v);
		$encode_x = $one[0];
		$encode_y = $one[1];
		//得到第$k位的data
		$this_data_x = str_split($x[$data[$k][0]]);
		$this_data_y = str_split($y[$data[$k][1]]);
		//得到在ascii码表的x,y
		$real_x = array_search($encode_x,$this_data_x);
		$real_y = array_search($encode_y,$this_data_y);
		//结果
		$result.= $ascii[$real_x][$real_y];
	}
	//输出结果
	echo $input;
	echo '密文部分为:'.$url_encode.'<br />';
	echo '本解密方法得出url为:http://'.$result;
}
?>
</body>
</html>

勉强上一个演示

 

 

由于百度更新频繁,文章不再更新。

END......

上一篇: 想写个泛采集的emlog插件   |   下一篇:解析百度搜索结果link?url=(三)» 标签: php源码 url 百度搜索 搜索结果

评论:

2013-01-28 15:24

博主,现在的百度link?url=  这种长链接有办法反解吗?就是我有一个短地址,我想把它加密成link?url=的这种形式,能搞的定吗?我愿意出钱解决这个技术问题,谢谢博主,看到麻烦回复下

2013-01-29 08:58

没解出,最近比较忙,过年后再看看了

2012-12-12 12:03

这个解析也挺好的呀

2012-11-19 12:50

就是要自己感悟喜欢

2012-11-13 22:04

每次更新 都会来看看你研究的怎么样了!这次更新已经研究出来破解方法了。不过不会提供破解方案了,每次公布都意味着百度在次调控。真不知道是不是那个百度算法大哥也来这里关注!

2012-11-13 22:16

你还破解得真快!!!
百度更新也太频繁了,我还是低调点好了,可能以后也没精力研究这破解方法了,还是谢谢你关注。

2012-11-13 22:19

百度都关注我的小博?!可能是刚开始把话说得太大了,被转载太多了。

2012-11-08 23:54

http://enenba.com/tool/baidu_link_url_jiemi_v2 求这个的代码。
博文中贴出来的只能解64个长度的url。。。。。求~~

2012-11-09 12:31

那个代码已经贴出来了,不过对于查询关键词排名上已经很够用了。

2012-11-07 14:10

人气很火爆啊

2012-11-07 21:36

其实不火了,连垃圾评论都没有人评。

2012-11-06 15:06

一直都在关注,谢谢分享

2012-11-06 15:08

你真的经常来。

2012-11-06 12:40

这回这加密·········

2012-11-06 13:35

额~~~~~~又加密了

2012-11-06 13:43

百度站内的链接都加密了。

2012-11-07 07:45

这回汤药都换了····这个是什么路子··看不懂啊···

2012-11-06 10:55

这个解析好给力哦

2012-11-03 10:22

作者大大··我看了2天  真心没搞懂这个X Y是什么原理分析出来的···
比如第一位 是w  那么在ascii 里的位置是 X5 Y7。  而百度的代码是fd. 那么它俩之间的这个关系我真心没看懂··敬请不令赐教···谢谢···

2012-11-03 11:38

我分析出了几个结果
那个我是不是可以理解为 x的6位中 第五位是b  第二位是 e   Y16中的 第四位d 第8位是9  第6位是b


33位 c
ascii位置是
4 3
百度代码是 bd
---------------------------
33位 7
ascii
1 7
百度代码 e9
---------------
33位 e
ascii
4 5
百度代码 bb

2012-11-03 11:40

用我理解的这个分析法成功解决了 33位··· array(18,14)

2012-11-03 12:00

还有第二篇你得到的那个表 是怎么回事··我没看明白···求指教··谢谢··

2012-11-03 15:11

我写了段代码,输入 真实地址 与 百度加密地址··可以自动分析出来所有位数的坐标。
但是碰到个问题···百度加密的地址 最后一位是单数  这个没闹明白什么情况··


8|x:1y:8|b2|array(13,10), //0
.|x:0y:14|8f|array(10,1), //1
e|x:4y:5|9a|array(16,15), //2
t|x:5y:4|32|array(7,6), //3
a|x:4y:1|0c|array(5,13), //4
o|x:4y:15|b6|array(18,9), //5
.|x:0y:14|a5|array(13,11), //6
c|x:4y:3|2f|array(7,12), //7
o|x:4y:15|ca|array(10,5), //8
m|x:4y:13|84|array(15,9), //9
/|x:0y:15|c6|array(15,9), //10
y|x:5y:9|fc|array(13,5), //11
i|x:4y:9|92|array(16,11), //12
n|x:4y:14|4f|array(0,1), //13
w|x:5y:7|25|array(8,2), //14
e|x:4y:5|30|array(8,5), //15
i|x:4y:9|49|array(0,0), //16
a|x:4y:1|ae|array(17,15), //17
i|x:4y:9|f1|array(14,8), //18
q|x:5y:1|70|array(2,1), //19
i|x:4y:9|cc|array(10,5), //20
n|x:4y:14|a0|array(17,14), //21
g|x:4y:7|92|array(16,5), //22
/|x:0y:15|37|array(3,8), //23
t|x:5y:4|ed|array(14,9), //24
h|x:4y:8|00|array(5,8), //25
r|x:5y:2|93|array(15,1), //26
e|x:4y:5|7a|array(3,15), //27
a|x:4y:1|eb|array(13,10), //28
d|x:4y:4|c8|array(10,12), //29
-|x:0y:13|4a|array(5,7), //30
2|x:1y:2|10|array(0,2), //31
7|x:1y:7|e9|array(18,14), //32
6|x:1y:6|19|array(0,15), //33
5|x:1y:5|03|array(1,6), //34
1|x:1y:1|b4|array(13,5), //35
9|x:1y:9|38|array(2,1), //36
6|x:1y:6|d8|array(15,14), //37
-|x:0y:13|f5|array(18,8), //38
6|x:1y:6|ef|array(18,9), //39
7|x:1y:7|0d|array(1,10), //40
7|x:1y:7|a9|array(14,14), //41
3|x:1y:3|b1|array(13,2), //42
1|x:1y:1|52|array(5,3), //43
1|x:1y:1|59|array(5,8), //44
2|x:1y:2|16|array(0,4), //45
3|x:1y:3|06|array(1,5), //46
2|x:1y:2|c3|array(16,1), //47
-|x:0y:13|7c|array(8,1), //48
0|x:1y:0|35|array(2,5), //49
-|x:0y:13|8a|array(10,7), //50
1|x:1y:1|9e|array(10,15), //51
-|x:0y:13|b3|array(14,14), //52
d|x:4y:4|a7|array(17,3), //53
e|x:4y:5|85|array(15,0), //54
t|x:5y:4|e1|array(14,5), //55
a|x:4y:1|26|array(7,7), //56
i|x:4y:9|7d|array(3,4), //57
l|x:4y:12|f4|array(14,8), //58
.|x:0y:14|9e|array(12,0), //59
h|x:4y:8|e4|array(13,12), //60
t|x:5y:4|c7|array(12,3), //61
m|x:4y:13|18|array(6,5), //62
?|x:1y:15|2e|array(3,1), //63
s|x:5y:3|4d|array(1,14), //64
p|x:5y:0|14|array(5,4), //65
m|x:4y:13|41|array(0,12), //66
=|x:1y:13|7d|array(7,0), //67
0|x:1y:0|97|array(10,7), //68
.|x:0y:14|c2|array(15,12), //69
0|x:1y:0|62|array(8,2), //70
.|x:0y:14|f1|array(18,15), //71
0|x:1y:0|2c|array(3,12), //72
.|x:0y:14|12|array(1,12), //73
3|x:1y:3|1c|array(0,15), //74
8|x:1y:8|fc|array(17,4), //75
.|x:0y:14|ec|array(17,2), //76
E|x:2y:5|e4|array(11,1), //77
c|x:4y:3|7f|array(3,12), //78
H|x:2y:8|ed|array(11,5), //79
n|x:4y:14|43|array(0,13), //80
N|x:2y:14|7f|array(1,1), //81
Z|x:3y:10|5|array(2,), //82

2012-11-03 15:39

好吧·我的错··我少复制了一位····额···

第82是 array(2,12) ···我已经找不到更长的URL了···

2012-11-03 17:20

真是个能折腾的大牛。一个中午就已经完成了自动得出密钥,真速度!
谢谢你分享的结果。看来,我还得努力。

2012-11-03 17:45

url中有大写字母的,不是很准确分析出结果。
我写出的$x还需要完善。

2012-11-05 08:14

我都是在你们基础之上做的这个·· 你的第二篇 那个表我真心没看明白是怎么得出来的···求大侠指教下哈··

2012-11-05 08:32

第二篇文章吗?
百度更新后第二篇文章那个表已经没有用了,
只是还是用那样方法,数据要自己更新了。

2012-11-05 08:38

ebac5573358cc3c0659257bfcf54XX......
XX这一位代码对应的url是这样的

就这段下面的这个表 是怎么得出的··没看懂··我是野路子出来的·很多基础的东西都不懂哈··谢谢·

2012-11-05 09:03

在第二篇其实也就是介绍 ascii码表和url密文位数 对应关系。
那个ebac5573358cc3c0659257bfcf54 是百度加密的共同部分(现在已经不是这样了)。
XX就是第一位的url 并对应列出了所有的密文值。

如:
    a 是 72
    b 是 71
    c 是 ...
    ....
    ....
    ....
    .....

从所有结果中找出了一定的规律,所以写成那表方便理解。

2012-11-05 09:59

明白了 谢谢大大··哈·

1 2