易語言將下載地址解析轉換成迅雷快車旋風的方法

今天小編就爲大家分享一篇關於易語言將下載地址解析轉換成迅雷快車旋風的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

Base64解碼

.版本 2
.程序集 程序集1
.子程序 Base64解碼, 字節集, 公開
.參數 原文, 字節集
.局部變量 碼錶, 字節集
.局部變量 位置碼錶, 字節型, , "256"
.局部變量 結果, 字節集
.局部變量 原文長度, 整數型
.局部變量 補碼, 整數型
.局部變量 i, 整數型
.局部變量 四字節數據, 字節型, , "4"
.局部變量 j, 整數型
原文長度 = 取字節集長度 (原文)
.如果真 (原文長度 = 0)
  返回 ({ })
.如果真結束
碼錶 = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }
.計次循環首 (64, i)
  位置碼錶 [碼錶 [i]] = i - 1
.計次循環尾 ()
補碼 = 0
.判斷開始 (取字節集右邊 (原文, 2) = { 61, 61 })
  補碼 = 2
.判斷 (取字節集右邊 (原文, 1) = { 61 })
  補碼 = 1
.默認
.判斷結束
結果 = 取空白字節集 (原文長度 ÷ 4 × 3)
j = 1
.變量循環首 (1, 原文長度 - 3, 4, i)
  四字節數據 [1] = 位置碼錶 [原文 [i]]
  四字節數據 [2] = 位置碼錶 [原文 [i + 1]]
  四字節數據 [3] = 位置碼錶 [原文 [i + 2]]
  四字節數據 [4] = 位置碼錶 [原文 [i + 3]]
  結果 [j] = 左移 (四字節數據 [1], 2) + 右移 (四字節數據 [2], 4)
  結果 [j + 1] = 左移 (四字節數據 [2], 4) + 右移 (四字節數據 [3], 2)
  結果 [j + 2] = 左移 (四字節數據 [3], 6) + 四字節數據 [4]
  j = j + 3
.變量循環尾 ()
.如果真 (補碼 > 0)
  結果 = 取字節集左邊 (結果, 取字節集長度 (結果) - 補碼)
.如果真結束
返回 (結果)
.子程序 Base64編碼, 字節集, 公開
.參數 原文, 字節集
.局部變量 餘數, 整數型
.局部變量 三字節數據, 字節型, , "3"
.局部變量 碼錶, 字節集
.局部變量 len_x, 整數型
.局部變量 len_y, 整數型
.局部變量 結果, 字節集
.局部變量 i, 整數型
.局部變量 k, 整數型
len_x = 取字節集長度 (原文)
.如果真 (len_x < 1)
  返回 ({ })
.如果真結束
餘數 = len_x % 3
.如果真 (餘數 > 0)
  原文 = 原文 + 取空白字節集 (3 - 餘數)
  len_x = len_x + 3 - 餘數
.如果真結束
len_y = len_x × 4 ÷ 3
結果 = 取空白字節集 (len_y)
i = 1
碼錶 = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }
.變量循環首 (1, len_x, 3, k)
  三字節數據 [1] = 原文 [k]
  三字節數據 [2] = 原文 [k + 1]
  三字節數據 [3] = 原文 [k + 2]
  結果 [i] = 碼錶 [右移 (三字節數據 [1], 2) + 1]
  結果 [i + 1] = 碼錶 [左移 (位與 (三字節數據 [1], 3), 4) + 右移 (三字節數據 [2], 4) + 1]
  結果 [i + 2] = 碼錶 [左移 (位與 (三字節數據 [2], 15), 2) + 右移 (三字節數據 [3], 6) + 1]
  結果 [i + 3] = 碼錶 [位與 (三字節數據 [3], 63) + 1]
  i = i + 4
.變量循環尾 ()
.判斷開始 (餘數 = 2)
  結果 [len_y] = 61
.判斷 (餘數 = 1)
  結果 [len_y] = 61
  結果 [len_y - 1] = 61
.默認
.判斷結束
返回 (結果)

下載地址解析轉換

.版本 2
.支持庫 spec
.程序集 窗口程序集1
.子程序 _地址轉換_被單擊
.判斷開始 (地址編輯框.內容 ≠ “”)
  地址編輯框.內容 = 刪首尾空 (地址編輯框.內容)
  .判斷開始 (取文本左邊 (地址編輯框.內容, 10) = “thunder://”)
    原始地址編輯框.內容 = 處理子程序 (1)
  .判斷 (取文本左邊 (地址編輯框.內容, 11) = “Flashget://”)
    原始地址編輯框.內容 = 處理子程序 (2)
  .判斷 (取文本左邊 (地址編輯框.內容, 7) = “qqdl://”)
    原始地址編輯框.內容 = 處理子程序 (3)
  .默認
    原始地址編輯框.內容 = 地址編輯框.內容
  .判斷結束
  原始地址轉換 ()
.默認
  信息框 (“請在輸入需要轉換的地址”, 48, “地址欄爲空”)
.判斷結束
.子程序 原始地址轉換
迅雷地址編輯框.內容 = 返回迅雷 ()
flashget編輯框.內容 = 返回flashget ()
旋風地址編輯框.內容 = 返回旋風 ()
.子程序 處理子程序, 文本型
.參數 標識
.局部變量 文本, 文本型
.局部變量 文本1, 文本型
.局部變量 文本2, 文本型
.局部變量 文本3, 文本型
.局部變量 id, 整數型
.判斷開始 (標識 = 1)
  文本 = 子文本替換 (地址編輯框.內容, “thunder://”, , , 2, 假)
  文本 = 子文本替換 (文本, “/”, , , , 真)
  文本 = 到文本 (Base64解碼 (到字節集 (文本)))
  文本 = 子文本替換 (文本, “AA”, , , , 真)
  文本 = 子文本替換 (文本, “ZZ”, , , , 真)
.判斷 (標識 = 2)
  文本 = 子文本替換 (地址編輯框.內容, “Flashget://”, , , 1, 真)
  id = 尋找文本 (文本, “&”, , 假)
  .判斷開始 (id ≠ -1)
    文本 = 取文本左邊 (文本, id - 1)
    調試輸出 (文本)
  .默認
  .判斷結束
  文本 = 到文本 (Base64解碼 (到字節集 (文本)))
  文本 = 子文本替換 (文本, “[FLASHGET]”, , , 2, 假)
.判斷 (標識 = 3)
  文本 = 子文本替換 (地址編輯框.內容, “qqdl://”, , , 2, 假)
  文本 = 到文本 (Base64解碼 (到字節集 (文本)))
.默認
.判斷結束
返回 (文本)
.子程序 返回迅雷, 文本型
.局部變量 文本, 文本型
文本 = 原始地址編輯框.內容
文本 = “AA” + 文本 + “ZZ”
文本 = “thunder://” + 到文本 (Base64編碼 (到字節集 (文本)))
返回 (文本)
.子程序 返回flashget, 文本型
.局部變量 文本, 文本型
文本 = 原始地址編輯框.內容
文本 = “[FLASHGET]” + 文本 + “[FLASHGET]”
文本 = “Flashget://” + 到文本 (Base64編碼 (到字節集 (文本))) + “&force”
返回 (文本)
.子程序 返回旋風, 文本型
.局部變量 文本, 文本型
文本 = 原始地址編輯框.內容
文本 = “qqdl://” + 到文本 (Base64編碼 (到字節集 (文本)))
返回 (文本)
.子程序 _清空地址_被單擊
連續賦值 (“”, 原始地址編輯框.內容, 迅雷地址編輯框.內容, flashget編輯框.內容, 旋風地址編輯框.內容, 地址編輯框.內容)

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章