迅雷/旋风地址转换原理分析(转)

Base64编码是一种加密/解密字符串的算法 
他可以把一段字符串A通过特定的加密算法变成字符串B 
并且单凭你的肉眼是无法通过B来反推出A来 
但通过逆推算法便能很迅速的将字符串B转换为字符串A 
这就是加密/解密字符串的算法。 
简单的来说,Base64编码的特点就是 
加密解密速度快,并且须通过特定算法解密。 

下面这段代码就是一段通过Base64加密后的字符串 
5qyi6L+O5p2l5Yiw5LuY552/55qE6YOo6JC95qC844CC 

通过肉眼你根本无法知道这段代码的意义,以下则是解密后的字符串 
欢迎来到付睿的部落格。 

下面开始说说实质性的东西。 
Base64是较为常见的一种用于传输8Bit字节代码的编码方式之一,他要求把3个8Bit的字节转换为4个6Bit的字节,既3×8=4×6=24,然后把6Bit高位用0补成8Bit,使得3个8bit原文变成4个8Bit字节的代码,所以说转换后的字符串会比原字符串长。 

举个例子(仅仅是个例子e113) 
原文为 qweqweqw asdasdas zxczxczx 
转换后 00qweqwe 00qwasda 00sdaszx 00czxczx 

转换后的字符串对应一个编码表,即Base64编码的码表(摘自RFC2045) 
Table 1: The Base64 Alphabet 
Value Encoding Value Encoding Value Encoding Value Encoding 
0 A 17 R 34 i 51 z 
1 B 18 S 35 j 52 0 
2 C 19 T 36 k 53 1 
3 D 20 U 37 l 54 2 
4 E 21 V 38 m 55 3 
5 F 22 W 39 n 56 4 
6 G 23 X 40 o 57 5 
7 H 24 Y 41 p 58 6 
8 I 25 Z 42 q 59 7 
9 J 26 a 43 r 60 8 
10 K 27 b 44 s 61 9 
11 L 28 c 45 t 62 + 
12 M 29 d 46 u 63 / 
13 N 30 e 47 v 
14 O 31 f 48 w (pad) = 
15 P 32 g 49 x 
16 Q 33 h 50 y 

如此一来便能使4个8Bit的译文有对应的字符代表。 
那么再来看一个实际的例子(2进制表示) 

转换前 10101101 10111010 01110110 
转换后 00101011 00011011 00101001 00110110 
十进制 43 27 41 54 
对应值 r b p 2 

所以说编码后字符串为 rbp2 
如此也可以逆向推算出原文。 

但是,我们也可能遇到一个问题 
就是如果原文字节数是10,11或者13该怎么办?(非3整数倍) 
Base64编码是这样来解决的: 
原文字节不够的地方全部用0来补足,转换时用=代替。 
但是编码后的字符串不会含有2个以上的=,因为等号个数=原文字节数 mod 3 

ok,这就是简单的Base64编码的介绍。 
当然,我是看了老罗的文章后才了解到的。 

接下来,说说专用链和Base64的关系。 
其实呢,说白了专用链就是使用了Base64编码,因为我之前提到的Base64的特点,他的高速的加密以及解密。 
接下来我将是用一个软件下载地址来做示范,讲解3种程序的专用链。 

例子的下载地址是(此链接不存在,仅作为演示) 
http://www.free-z.net/1.rar                         

迅雷专用链 
迅雷的专用链是在原地址的前面加“AA”,最后加“ZZ”后再是用Base64加密 
即使用Base64编码如下字符串 
AA
http://www.free-z.net/1.rarZZ                         

编码后字符串为 
QUFodHRwOi8vd3d3LmZyZWUtei5uZXQvMS5yYXJaWg== 

迅雷专用链即在此字符串前加thunder://,即 
thunder://QUFodHRwOi8vd3d3LmZyZWUtei5uZXQvMS5yYXJaWg== 

快车专用链 
快车的专用链是在原地址的前面和后面都加上“[FLASHGET]”后再是用Base64加密 
即使用Base64编码如下字符串 
http://www.free-z.net/1.rar                         

编码后字符串为 
W0ZMQVNIR0VUXWh0dHA6Ly93d3cuZnJlZS16Lm5ldC8xLnJhcltGTEFTSEdFVF0= 

快车专用链即在此字符串前加Flashget://,尾部加&freeznet,即 
Flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3cuZnJlZS16Lm5ldC8xLnJhcltGTEFTSEdFVF0=&freeznet 

腾讯旋风专用链 
腾讯旋风专用链是最为简单的,直接将原地址Base64编码即可,即 
对字符串
http://www.free-z.net/1.rar 直接编码,可获得 
aHR0cDovL3d3dy5mcmVlLXoubmV0LzEucmFy 

然后在此字符串之前加qqdl://即可,即 
qqdl://aHR0cDovL3d3dy5mcmVlLXoubmV0LzEucmFy
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值