易语言将下载地址解析转换成迅雷快车旋风的方法

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编辑框.内容, 旋风地址编辑框.内容, 地址编辑框.内容)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言使用动画框做消除游戏的代码

    全局变量表 .版本 2 .全局变量 得分总和, 整数型 .全局变量 最高得分, 整数型 .全局变量 关卡, 整数型 利用动画框做的一个消除游戏 .版本 2 .支持库 iext2 .支持库 iext .程序集 窗口程序集1 .程序集变量 标识1, 整数型, , "100" .程序集变量 角度, 整数型 .程序集变量 是否开始, 逻辑型 .子程序 初始化 .局部变量 a, 整数型 .局部变量 b, 整数型 .局部变量 C, 整数型 .局部变量 d, 整数型 置随机数种子 () d = 1

  • 易语言使用超文本显示新浪天气预报的代码

    常量数据表 .版本 2 .常量 v1, "<文本长度: 24>", , <p class="inx_w_city_c"> .常量 K, "<文本长度: 8>", , url=http .常量 J, "<文本长度: 47>", , <a href="http://share.sina.cn/callback?content= .常量 v2, "<文本

  • 易语言Ex_DirectUI自绘扫雷游戏源码

    MineMartix .版本 2 .支持库 spec .程序集 MineMartix, Ex_控件基类, , ExDUI扩展组件_扫雷按钮 .程序集变量 m_颜色, 整数型 .程序集变量 m_透明度, 整数型 .程序集变量 m_Rect, RectF .程序集变量 m_hIcon, 整数型, , , 图像句柄 .程序集变量 m_单击回调指针, 整数型 .程序集变量 m_Mine, 逻辑型 .程序集变量 m_Pos, PointF .程序集变量 m_Num, 整数型, , , 周围雷数量 .程序集

  • 易语言仿360悬浮窗实现流量监控和内存优化的代码

    DLL命令表 .版本 2 .DLL命令 GlobalMemoryStatus, 整数型, "kernel32", "GlobalMemoryStatus" .参数 lpBuffer, MEMORYSTATUS .DLL命令 OpenProcess, 整数型, "Kernel32.dll", "OpenProcess" .参数 dwDesiredAccess, 整数型 .参数 bInheritHandle, 整数型 .参数 dw

  • 易语言制作网截抓包工具的代码

    常量数据表 .版本 2 .常量 编码常量, "<文本长度: 10797>", , 名称:编码_GB2312 英文名称:Encoding_GB2312 类型:文本型 值:"GB2312" 列举各种编码类型 全局变量表 .版本 2 .全局变量 系统配置路径, 文本型 网截抓包工具 .版本 2 .支持库 eNetIntercept .支持库 eGrid .支持库 iconv .支持库 iext .支持库 iext2 .程序集 主程序集 .程序集变量 服务安装,

  • 易语言调用百度语音平台实现文字转换语音功能的代码

    调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&text=" + 编码_URL编码 (内容编辑框.内容, , 真) + "&spd=5&per=4" ' 参数 可需 描述 ' tex 必填

  • 易语言获取已登录的QQ号码以及名称的方法

    取登陆QQ号以及名称的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 网页填表, 普通填表 .子程序 _读取按钮_被单击 .局部变量 数量, 文本型 .局部变量 i, 整数型 .局部变量 QQ, 文本型 .局部变量 名称, 文本型 显示选择列表框.清空 () 网页填表.初始化 (超文本浏览框1.取窗口句柄 ()) 数量 = 到文本 (网页填表.ULLI_取数量 ()) .计次循环首 (到整数 (数量), i) QQ = 到文本 (文本_取出中间文本

  • 易语言调用GetUserPassWord.dll获取系统开机密码

    DLL命令表 .版本 2 .DLL命令 取开机密码, 文本型, "GetUserPassWord.dll", "GetUserPassWord", 公开 获取系统登录密码的代码 .版本 2 .程序集 窗口程序集1 .子程序 获取开机, 文本型 .局部变量 密码, 文本型 .局部变量 帐号, 文本型 .局部变量 最终文本, 文本型 帐号 = 读环境变量 ("USERNAME") 密码 = 取电脑开机密码 () 最终文本 = "密码类型:开

  • 易语言实现自动发送QQ信息的代码

    全局变量表 .版本 2 .全局变量 局_句柄, 整数型 .全局变量 b, 整数型 QQ自动发送信息 此功能需要加载精易模块5.6 .版本 2 .支持库 spec .支持库 eAPI .程序集 窗口程序集_启动窗口 .程序集变量 逻辑, 逻辑型 .子程序 _暂停按钮_被单击 时钟1.时钟周期 = 0 .子程序 _好友按钮_被单击 逻辑 = 假 时钟1.时钟周期 = 1500 .子程序 功能_取句柄, 整数型 .参数 名称, 文本型 局_句柄 = 窗口_取句柄 (, , "TXGuiFoundati

  • 易语言解析音悦台MV提供超清下载地址的代码

    音悦台MV地址解析 此功能需要加载精易模块5.6 .版本 2 .支持库 exui .支持库 EThread .程序集 窗口程序集_启动窗口 .程序集变量 标清, 文本型 .程序集变量 高清, 文本型 .程序集变量 超清, 文本型 .子程序 _按钮EX1_左键单击 按钮EX2.可视EX = 假 按钮EX3.可视EX = 假 按钮EX4.可视EX = 假 .判断开始 (编辑框EX1.内容 = "") 信息框EX (, "告警 :", , "先输入MV地址才能解

  • 易语言酷我音乐三种格式无损下载地址解析源码

    DLL命令表 .版本 2 .DLL命令 CoInitialize, 整数型, "ole32.dll", , 公开, 初始化对象开始 .参数 pvReserved, 整数型, , 0 .DLL命令 CoUninitialize, 整数型, "ole32.dll", , 公开, 初始化对象结束 .DLL命令 ShellExecute, 整数型, "shell32.dll", "ShellExecuteA" .参数 hwnd, 整数

  • 易语言制作UAC管理员模式添加器

    DLL命令表 .版本 2 .DLL命令 BeginUpdateResource, 整数型, "kernel32.dll", "BeginUpdateResourceA" .参数 pFileName, 文本型 .参数 bDeleteExistingResources, 逻辑型 .DLL命令 UpdateResource, 逻辑型, "kernel32.dll", "UpdateResourceA" .参数 hUpdate, 整数

  • 易语言实现无需加好友强制查看QQ资料卡片的方法

    调用腾讯的弹出QQ资料卡片接口实现强制查看QQ资料卡片的功能 .版本 2 .支持库 shell .程序集 窗口程序集_启动窗口 .子程序 _查看资料按钮_被单击 执行 (, "tencent://ContactInfo/?subcmd=ViewInfo&puin=0&uin=" + QQ号编辑框.内容, , , ) 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查

  • 易语言调用TTS语音模块实现文字转换语音功能的代码

    DLL命令表 .版本 2 .DLL命令 CoInitialize, 整数型, "ole32.dll", "CoInitialize" .参数 pvReserved, 整数型 .DLL命令 CoUninitialize, , "Ole32.dll", "CoUninitialize", , 在当前线程,关闭COM库,卸载所有加载的DLL的线程,释放线程保持的任何其他资源,并强制关闭所有的线程上的RPC连接. 利用系统自带的TTS

  • 易语言调用百度的真相问答制作真相问答机的代码

    全局变量表 .版本 2 .全局变量 源文件, 文本型 .全局变量 答案, 文本型 常量数据表 .版本 2 .常量 常量1, "<文本长度: 9>", , -middle"> .常量 常量2, "<文本长度: 7>", , </span> .常量 常量3, "<文本长度: 7>", , proof"> .常量 常量4, "<文本长度: 7>&quo

随机推荐