首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >快手直播间提取采集工具,匿名点赞红心留言评论,最新易语言框架分享

快手直播间提取采集工具,匿名点赞红心留言评论,最新易语言框架分享

原创
作者头像
用户11696336
发布2025-06-19 09:45:44
发布2025-06-19 09:45:44
2410
举报
文章被收录于专栏:源码分享源码分享

之前写的一个框架,昨天试了一下发现源码还可以正常运行,那么我干脆分享出来吧,供大家学习,因为里面涉及很多接口都是公开的接口哈,并不死逆向的,模块用的都是开源模块。

下载地址:https://www.pan38.com/share.php?code=75uj8 提取码:8888 【仅供学习参考】

源码分享【仅供参考】

代码语言:txt
复制
.版本 2
.支持库 e2ee
.支持库 iext2
.支持库 iext
.支持库 spec
.支持库 EThread

.程序集 窗口程序集_启动窗口
.程序集变量 WSS, WebSocket客户端
.程序集变量 cookie, 文本型
.程序集变量 liveStreamId, 文本型
.程序集变量 弹幕数量, 整数型
.程序集变量 a, 字符格式

.子程序 __启动窗口_创建完毕

写到文件 (取运行目录 () + “\gzip.dll”, #gzip)
WSS.初始化 (&WSS客户端_收到消息, &WSS客户端_连接成功, &WSS客户端_连接失败, &WSS客户端_断开连接)

.子程序 连接
.局部变量 是否成功, 逻辑型
.局部变量 token十六进制, 文本型
.局部变量 liveStreamId十六进制, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 直播间链接, 文本型
.局部变量 返回Cookie, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 json, 类_json
.局部变量 token, 文本型
.局部变量 webSocketUrls, 文本型


cookie = 编辑框1.内容
直播间链接 = 编辑框_直播间地址.内容
.如果真 (直播间链接 = “”)
    信息框 (“请输入直播间链接”, 0, “提示”, _启动窗口.取窗口句柄 ())
    按钮_连接.禁止 = 假
    按钮_断开.禁止 = 假
    返回 ()
.如果真结束

局_返回 = 编码_Utf8到Ansi (网页_GZIP解压 (网页_访问_对象 (直播间链接, 0, , , 返回Cookie, #协议头, , , , , , , , , , , , , )))
liveStreamId = 文本_取出中间文本 (局_返回, #常量2, #常量3, , )
.如果真 (liveStreamId = “”)
    信息框 (“你输入的直播间链接不存在或无法访问或检查cookie是否失效或不可用”, 16, “提示”, _启动窗口.取窗口句柄 ())
    按钮_连接.禁止 = 假
    按钮_断开.禁止 = 假
    返回 ()
.如果真结束

局_返回 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/liveroom/websocketinfo?liveStreamId=” + liveStreamId, 0, , cookie, , #协议头, , , , , , , , , , , , , ))
json.解析 (局_返回)
token = json.取通用属性 (“data.token”)
webSocketUrls = json.取通用属性 (“data.websocketUrls[0]”)
json.清除 ()
.如果真 (token = “”)
    信息框 (“获取token失败”, 16, “提示”, _启动窗口.取窗口句柄 ())
    按钮_连接.禁止 = 假
    按钮_断开.禁止 = 假
    返回 ()
.如果真结束
是否成功 = WSS.连接 (webSocketUrls, 真, )
token十六进制 = 字节集_字节集到十六进制 (到字节集 (token))
liveStreamId十六进制 = 字节集_字节集到十六进制 (到字节集 (liveStreamId))

.判断开始 (是否成功 = 真)
    WSS.发送字节集 (字节集_十六进制到字节集 (“08C8011ADC010AAC01” + token十六进制 + “120b” + liveStreamId十六进制 + “3a1e4a334c6f3455367a37556a4967676e345f31363830373137333030373036”))
    时钟1.时钟周期 = 20000
    按钮_断开.禁止 = 假
.默认
    信息框 (“WSS进房失败”, 16, “提示”, _启动窗口.取窗口句柄 ())
    按钮_断开.禁止 = 假
.判断结束


.子程序 WSS客户端_收到消息
.参数 消息类型, 整数型
.参数 消息句柄, 整数型
.局部变量 索引, 整数型
.局部变量 消息数据, 字节集
.局部变量 消息文本, 文本型
.局部变量 Protobuf, _UnProtobuf
.局部变量 是否解析成功, 整数型
.局部变量 i, 整数型
.局部变量 key数量, 整数型
.局部变量 用户信息, 个人信息

消息数据 = WSS.取回消息数据 (消息句柄)
Protobuf.解析 (消息数据)
key数量 = Protobuf.getCount (“3.5”)

a.字体大小 = 9
a.字体名称 = “微软雅黑”

.如果真 (key数量 > 0)  ' 弹幕
    .计次循环首 (key数量, i)
        弹幕数量 = 弹幕数量 + 1
        用户信息.英文ID = Protobuf.getText (“3.5.2.1”, i)
        用户信息.昵称 = Protobuf.getText (“3.5.2.2”, i)
        用户信息.操作描述 = Protobuf.getText (“3.5.3”, i)
        用户信息.头像 = 子_取头像 (用户信息.英文ID)



        ' 超级列表框1.置标题 (索引, 0, 用户信息.昵称)  ' 昵称
        ' 超级列表框1.置标题 (索引, 1, 用户信息.英文ID)  ' ID
        ' 超级列表框1.置标题 (索引, 2, 用户信息.操作描述)  ' 弹幕
        ' 超级列表框1.置标题 (索引, 3, 用户信息.头像)  ' 头像
        ' 超级列表框1.保证显示 (索引)
        ' 标题 = 到文本 (弹幕数量)

        索引 = 超级列表框2.插入表项 (, , , , , )
        超级列表框2.置标题 (索引, 0, 用户信息.昵称)
        超级列表框2.置标题 (索引, 1, 用户信息.英文ID)
        超级编辑框1.起始选择位置 = 取文本长度 (超级编辑框1.内容)
        a.文本颜色 = 2155752
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = 用户信息.昵称 + “”
        a.文本颜色 = 13735843
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = “ : ”
        a.文本颜色 = #白色
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = 用户信息.操作描述

        a.文本颜色 = #灰色
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = “   ” + 时间_格式化 (取现行时间 (), , “ hh:mm:ss”, 真) + #换行符


        超级编辑框1.滚动 (超级编辑框1.取行数 ())
    .计次循环尾 ()
.如果真结束

key数量 = Protobuf.getCount (“3.2”)
.如果真 (key数量 ≠ 0)
    标签1.标题 = “在线观众:” + Protobuf.getText (“3.1”)
.如果真结束

key数量 = Protobuf.getCount (“3.8”)
.如果真 (key数量 > 0)
    .计次循环首 (key数量, i)
        弹幕数量 = 弹幕数量 + 1
        用户信息.昵称 = Protobuf.getText (“3.8.2.2”, i)
        用户信息.英文ID = Protobuf.getText (“3.8.2.1”, i)
        用户信息.操作描述 = “点亮了爱心” + “  ”
        用户信息.头像 = 子_取头像 (用户信息.英文ID)

        超级编辑框1.起始选择位置 = 取文本长度 (超级编辑框1.内容)
        a.文本颜色 = 2155752
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = 用户信息.昵称 + “”
        a.文本颜色 = 13735843
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = “ : ”
        a.文本颜色 = #红色
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = 用户信息.操作描述
        a.文本颜色 = #灰色
        超级编辑框1.置选择区字符格式 (a)
        超级编辑框1.被选择文本 = “   ” + 时间_格式化 (取现行时间 (), , “ hh:mm:ss”, 真) + #换行符

        超级编辑框1.滚动 (超级编辑框1.取行数 ())
        索引 = 超级列表框1.插入表项 (, , , , , )
        超级列表框1.置标题 (索引, 2, 用户信息.昵称)
        超级列表框1.置标题 (索引, 0, Protobuf.getText (“3.5.3”, i))

        索引 = 超级列表框2.插入表项 (, , , , , )
        超级列表框2.置标题 (索引, 0, 用户信息.昵称)
        超级列表框2.置标题 (索引, 1, 用户信息.英文ID)

    .计次循环尾 ()
.如果真结束




.子程序 WSS客户端_连接成功

调试输出 (“WSS_连接成功”)
按钮_连接.标题 = “连接成功”

.子程序 WSS客户端_连接失败

调试输出 (“WSS_连接失败”)
按钮_连接.标题 = “连接失败”

.子程序 WSS客户端_断开连接

时钟1.时钟周期 = 0
调试输出 (“WSS_断开连接”)
按钮_连接.标题 = “重新连接”

.子程序 _按钮_连接_被单击

按钮_连接.禁止 = 真
按钮_断开.禁止 = 真
启动线程 (&连接, , )

.子程序 _按钮_断开_被单击

WSS.断开 ()
按钮_连接.禁止 = 假
按钮_连接.标题 = “连接”

.子程序 用户ID取头像, 文本型
.参数 ID, 文本型
.局部变量 头像地址, 文本型
.局部变量 json, 类_json

头像地址 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + ID, , , cookie, , #协议头))
json.解析 (头像地址)
返回 (json.取通用属性 (“data.userInfo.avatar”))

.子程序 _时钟1_周期事件

WSS.发送字节集 (字节集_十六进制到字节集 (“08011a0708afb4c294f530”))

.子程序 _超级列表框1_左键单击表项
.局部变量 返回内容, 文本型
.局部变量 英文ID, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

' 英文ID = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
查询资料_1 (英文ID)

.子程序 查询资料_1, , , 个人中心
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

返回内容 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/sensitive?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.英文ID = 英文ID
用户信息.头像 = json.取通用属性 (“data.sensitiveUserInfo.avatar”)
用户信息.昵称 = json.取通用属性 (“data.sensitiveUserInfo.name”)
用户信息.数字ID = json.取属性 (“data.sensitiveUserInfo.originUserId”).取数据文本 ()
用户信息.签名 = json.取通用属性 (“data.sensitiveUserInfo.description”)
用户信息.地区 = json.取通用属性 (“data.sensitiveUserInfo.cityName”)
用户信息.性别 = json.取通用属性 (“data.userInfo.sex”)
.判断开始 (用户信息.性别 = “F”)
    用户信息.性别 = “女”
.判断 (用户信息.性别 = “M”)
    用户信息.性别 = “男”
.默认
    用户信息.性别 = “保密”
.判断结束


.子程序 查询资料_2, , , 直播名片
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

返回内容 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.英文ID = 英文ID
用户信息.头像 = json.取通用属性 (“data.userInfo.avatar”)
用户信息.昵称 = json.取通用属性 (“data.userInfo.name”)
用户信息.数字ID = json.取属性 (“data.userInfo.originUserId”).取数据文本 ()
用户信息.签名 = json.取通用属性 (“data.userInfo.description”)
用户信息.地区 = json.取通用属性 (“data.userInfo.cityName”)
用户信息.性别 = json.取通用属性 (“data.userInfo.sex”)
.判断开始 (用户信息.性别 = “F”)
    用户信息.性别 = “女”
.判断 (用户信息.性别 = “M”)
    用户信息.性别 = “男”
.默认
    用户信息.性别 = “保密”
.判断结束



.子程序 点心, 逻辑型
.局部变量 data, 文本型
.局部变量 返回内容, 文本型

data = 子文本替换 (#点心, “[ID]”, liveStreamId, , , 真)
返回内容 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/liveroom/like”, 1, data, cookie, , #协议头, , , , 编码_Ansi到Utf8 (data)))
.如果 (返回内容 = “{” + #引号 + “data” + #引号 + “:true}”)
    返回 (真)
.否则
    返回 (假)
.如果结束


.子程序 网页_取头像1, 文本型
.参数 英文ID, 文本型
.局部变量 局_网址, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 ADD_协议头, 类_POST数据类
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 json, 类_json

调试输出 (1)
局_网址 = “https://www.kuaishou.com/graphql”
局_提交数据 = “{” + #引号 + “operationName” + #引号 + “:” + #引号 + “visionProfile” + #引号 + “,” + #引号 + “variables” + #引号 + “:{” + #引号 + “userId” + #引号 + “:” + #引号 + 英文ID + #引号 + “},” + #引号 + “query” + #引号 + “:” + #引号 + “query visionProfile($userId: String) {\n  visionProfile(userId: $userId) {\n    result\n    hostName\n    userProfile {\n      ownerCount {\n        fan\n        photo\n        follow\n        photo_public\n        __typename\n      }\n      profile {\n        gender\n        user_name\n        user_id\n        headurl\n        user_text\n        user_profile_bg_url\n        __typename\n      }\n      isFollowing\n      __typename\n    }\n    __typename\n  }\n}\n” + #引号 + “}”
局_提交数据 = 编码_gb2312到utf8 (局_提交数据)
ADD_协议头.添加 (“Host”, “www.kuaishou.com”)
ADD_协议头.添加 (“Connection”, “keep-alive”)
ADD_协议头.添加 (“accept”, “*/*”)
ADD_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36”)
ADD_协议头.添加 (“content-type”, “application/json”)
ADD_协议头.添加 (“Origin”, “https://www.kuaishou.com”)
ADD_协议头.添加 (“Sec-Fetch-Site”, “same-origin”)
ADD_协议头.添加 (“Sec-Fetch-Mode”, “cors”)
ADD_协议头.添加 (“Sec-Fetch-Dest”, “empty”)
ADD_协议头.添加 (“Referer”, “https://www.kuaishou.com/profile/3xi9cj4qnixaaug”)
ADD_协议头.添加 (“Accept-Language”, “zh-CN,zh;q=0.9”)
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问_对象 (局_网址, 1, , cookie, , 局_提交协议头, , , , 到字节集 (局_提交数据), , , , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
json.解析 (局_返回)
返回 (json.取通用属性 (“data.visionProfile.userProfile.profile.headurl”))

.子程序 网页_取头像2, 文本型
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

调试输出 (2)
返回内容 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.头像 = json.取通用属性 (“data.userInfo.avatar”)
返回 (用户信息.头像)

.子程序 网页_取头像3, 文本型
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

调试输出 (3)
返回内容 = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/sensitive?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.头像 = json.取通用属性 (“data.sensitiveUserInfo.avatar”)
返回 (用户信息.头像)

.子程序 网页_取头像4, 文本型
.参数 英文ID, 文本型
.局部变量 局_网址, 文本型
.局部变量 局_提交cookie, 文本型
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型

调试输出 (4)
局_网址 = “https://www.kuaishou.com/profile/” + 英文ID
局_提交协议头 = “Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9” + #换行符 + “Accept-Encoding: gzip, deflate, br” + #换行符 + “Accept-Language: zh-CN,zh;q=0.9” + #换行符 + “Cache-Control: max-age=0” + #换行符 + “Connection: keep-alive” + #换行符 + “Host: www.kuaishou.com” + #换行符 + “Sec-Fetch-Dest: document” + #换行符 + “Sec-Fetch-Mode: navigate” + #换行符 + “Sec-Fetch-Site: none” + #换行符 + “Sec-Fetch-User: ?1” + #换行符 + “Upgrade-Insecure-Requests: 1” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36”
网页_访问S (局_网址, 0, , cookie, , 局_提交协议头, , , , , , , , , , , 局_结果, , , , )
局_结果 = 网页_GZIP解压 (局_结果)
局_返回 = 编码_Utf8到Ansi (局_结果)
局_返回 = 文本_取出中间文本 (局_返回, “<img src=#引号”, “#引号 class=”)
返回 (局_返回)

.子程序 子_取头像, 文本型
.参数 参_英文ID, 文本型
.局部变量 返回信息, 文本型

返回信息 = 网页_取头像1 (参_英文ID)
.如果真 (返回信息 = “”)
    返回信息 = 网页_取头像2 (参_英文ID)
.如果真结束
.如果真 (返回信息 = “”)
    返回信息 = 网页_取头像3 (参_英文ID)
.如果真结束
.如果真 (返回信息 = “”)
    返回信息 = 网页_取头像4 (参_英文ID)
.如果真结束

返回 (返回信息)

.子程序 _按钮_断开1_被单击

编辑框1.可视 = 取反 (编辑框1.可视)

pe部分:

代码语言:txt
复制
.版本 2
.支持库 spec

.程序集 程序集1

.子程序 _启动子程序, 整数型

调试输出 (“★★★★★★★★★★★★★★★★” + #换行符 + “    ★                            ★” + #换行符 + “    ★  protobuf交流群:782720032  ★” + #换行符 + “    ★  Power By:2832188888       ★” + #换行符 + “    ★                            ★” + #换行符 + “    ★★★★★★★★★★★★★★★★” + #换行符 + #换行符)
_临时子程序 ()  ' 
返回 (0)  ' 

.子程序 _临时子程序



.子程序 String_ReplaceMiddle, 文本型
.参数 未命名参数_1, 文本型
.参数 未命名参数_2, 文本型
.参数 未命名参数_3, 文本型
.参数 未命名参数_4, 整数型, 可空
.参数 未命名参数_5, 整数型, 可空
.局部变量 未命名局部变量_1, 整数型
.局部变量 未命名局部变量_2, 整数型
.局部变量 未命名局部变量_3, 整数型
.局部变量 未命名局部变量_4, 文本型
.局部变量 未命名局部变量_5, 文本型

未命名局部变量_2 = 1
未命名局部变量_5 = 未命名参数_1
.判断循环首 (未命名局部变量_2 > 0)
    未命名局部变量_2 = 寻找文本 (未命名局部变量_5, 未命名参数_2, , 假)
    未命名局部变量_3 = 寻找文本 (未命名局部变量_5, 未命名参数_3, 未命名局部变量_2, 假)
    .如果 (未命名局部变量_2 > 0 且 未命名局部变量_3 > 未命名局部变量_2)
        未命名局部变量_4 = String_GetSubStrMiddle (未命名局部变量_5, 未命名参数_2, 未命名参数_3)
        .判断开始 (未命名参数_5 = 0)
            未命名局部变量_5 = 子文本替换 (未命名局部变量_5, 未命名参数_2 + 未命名局部变量_4, “”, , , 真)
        .判断 (未命名参数_5 = 1)
            未命名局部变量_5 = 子文本替换 (未命名局部变量_5, 未命名局部变量_4 + 未命名参数_3, “”, , , 真)
        .默认
            未命名局部变量_5 = 子文本替换 (未命名局部变量_5, 未命名参数_2 + 未命名局部变量_4 + 未命名参数_3, “”, , , 真)
        .判断结束
        未命名局部变量_1 = 未命名局部变量_1 + 1

    .否则
        跳出循环 ()
    .如果结束

    .如果真 (未命名参数_4 > 0)
        .如果真 (未命名局部变量_1 ≥ 未命名参数_4)
            跳出循环 ()
        .如果真结束

    .如果真结束

.判断循环尾 ()
返回 (未命名局部变量_5)

.子程序 String_GetSubStrLeft, 文本型
.参数 未命名参数_1, 文本型
.参数 未命名参数_2, 文本型
.参数 未命名参数_3, 整数型, 可空
.参数 未命名参数_4, 逻辑型, 可空
.局部变量 未命名局部变量_1, 整数型
.局部变量 未命名局部变量_2, 文本型

.如果真 (未命名参数_3 ≤ 0)
    未命名参数_3 = 1
.如果真结束
未命名局部变量_1 = 寻找文本 (未命名参数_1, 未命名参数_2, 未命名参数_3, 未命名参数_4)
.如果真 (未命名局部变量_1 = -1)
    返回 (“”)
.如果真结束
未命名局部变量_2 = 取文本左边 (未命名参数_1, 未命名局部变量_1 - 1)
返回 (未命名局部变量_2)


.子程序 String_GetSubStrRight, 文本型
.参数 未命名参数_1, 文本型
.参数 未命名参数_2, 文本型
.参数 未命名参数_3, 整数型, 可空
.参数 未命名参数_4, 逻辑型, 可空
.局部变量 未命名局部变量_1, 整数型
.局部变量 未命名局部变量_2, 文本型

.如果 (未命名参数_3 ≤ 0)
    未命名局部变量_1 = 倒找文本 (未命名参数_1, 未命名参数_2, , 未命名参数_4)
.否则
    未命名局部变量_1 = 倒找文本 (未命名参数_1, 未命名参数_2, 未命名参数_3, 未命名参数_4)
.如果结束


.如果真 (未命名局部变量_1 = -1)
    返回 (“”)
.如果真结束
未命名局部变量_2 = 取文本右边 (未命名参数_1, 取文本长度 (未命名参数_1) - 取文本长度 (未命名参数_2) - 未命名局部变量_1 + 1)
返回 (未命名局部变量_2)


.子程序 String_GetSubStrMiddle, 文本型
.参数 未命名参数_1, 文本型
.参数 未命名参数_2, 文本型
.参数 未命名参数_3, 文本型
.参数 未命名参数_4, 整数型, 可空
.参数 未命名参数_5, 逻辑型, 可空
.局部变量 未命名局部变量_1, 整数型
.局部变量 未命名局部变量_2, 整数型


未命名局部变量_1 = 寻找文本 (未命名参数_1, 未命名参数_2, 未命名参数_4, 未命名参数_5)
.如果真 (未命名局部变量_1 ≠ -1)
    未命名局部变量_1 = 未命名局部变量_1 + 取文本长度 (未命名参数_2)
.如果真结束
未命名局部变量_2 = 寻找文本 (未命名参数_1, 未命名参数_3, 未命名局部变量_1, 未命名参数_5)
.如果真 (未命名局部变量_1 = -1 或 未命名局部变量_2 = -1 或 未命名局部变量_2 < 未命名局部变量_1)
    返回 (“”)
.如果真结束
返回 (取文本中间 (未命名参数_1, 未命名局部变量_1, 未命名局部变量_2 - 未命名局部变量_1))

.子程序 HexToBin, 字节集
.参数 未命名参数_1, 文本型
.局部变量 未命名局部变量_1, 整数型
.局部变量 未命名局部变量_2, 整数型
.局部变量 未命名局部变量_3, 整数型
.局部变量 未命名局部变量_4, 整数型
.局部变量 未命名局部变量_5, 字节集

未命名局部变量_1 = 0  ' 
未命名局部变量_2 = 1  ' 
未命名局部变量_3 = 2  ' 
未命名局部变量_4 = 3  ' 
置入代码 ({ 139, 93, 8, 139, 27, 137, 93, 248, 139, 251, 185, 255, 255, 255, 255, 50, 192, 252, 242, 174, 184, 254, 255, 255, 255, 43, 193, 137, 69, 252 })
.如果真 (未命名局部变量_1 < 1)
    返回 ({  })
.如果真结束
置入代码 ({ 232, 0, 0, 0, 0, 89, 131, 193, 6, 235, 103 })  ' 
置入代码 ({ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15 })
置入代码 ({ 144, 144, 144, 144, 144, 137, 77, 244 })  ' 
置入代码 ({ 209, 109, 252 })  ' 
未命名局部变量_5 = 取空白字节集 (未命名局部变量_1)
置入代码 ({ 131, 192, 8, 137, 69, 240 })  ' 
置入代码 ({ 139, 93, 244, 139, 117, 248, 139, 125, 240, 209, 101, 252, 139, 77, 252, 3, 206, 51, 192, 102, 139, 6, 70, 70, 80, 37, 255, 0, 0, 0, 138, 52, 24, 88, 193, 232, 8, 138, 20, 24, 192, 230, 4, 8, 242, 136, 23, 71, 59, 241, 124, 223 })
返回 (未命名局部变量_5)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档