迅雷/旋風地址轉換原理分析(轉)

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
  
發佈了11 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章