揰掵佲 发表于 2015-12-27 22:07

Shark恒 发表于 2015-12-27 23:02

.版本 2

.程序集 窗口程序集1

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


测试

Shark恒 发表于 2015-12-27 23:11

OK啦,么么哒

as399396225 发表于 2015-12-28 01:30

不错支持了

Zixue 发表于 2015-12-28 05:34

判断(虫子有没有好用的首页N格 = 真)
信息框(“虫子来一发吧)
信息框(”木有“)

uhyjjgt 发表于 2015-12-28 07:48

本帖最后由 uhyjjgt 于 2015-12-28 07:51 编辑

.版本 2

.如果真 (编辑框1.内容 = “吾爱汇编论坛”)
    信息框 (“密码正确!”, 0, )

.如果真结束
信息框 (“密码不正确!”, 0, )

揰掵佲 发表于 2015-12-28 08:44

我叫KK 发表于 2015-12-28 09:55

.版本 2
.支持库 spec

.程序集 网络验证
.程序集变量 本机密钥, 文本型
.程序集变量 服务器密钥, 文本型
.程序集变量 url, 文本型
.程序集变量 通讯密钥, 文本型

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用

url = “http://127.0.0.1:82/wlyz/post/get_soft.php”

通讯密钥 = “ef6b481ac1e366o0aab0411f3f5027c797757b98”
服务器密钥 = get_skey ()

返回 ()


.子程序 POST, 文本型
.参数 地址, 文本型
.参数 数据, 文本型
.局部变量 web, 对象
.局部变量 返回, 字节集


web.创建 (“Microsoft.XMLHTTP”, )
web.方法 (“Open”, “POST”, 地址, 假)
web.方法 (“SetRequestHeader”, “Content-Type”, “application/x-www-form-urlencoded”)
web.方法 (“Send”, 数据)
返回 = web.读属性 (“ResponseBody”, ).取字节集 ()

调试输出 (到文本 (返回))
返回 (到文本 (返回))

.子程序 取指定内容_xl, 文本型
.参数 完整内容, 文本型, , 完整内容
.参数 左边文本, 文本型, 可空, 左边文本
.参数 右边文本, 文本型, 可空, 右边文本
.局部变量 临时位置, 整数型
.局部变量 总长度, 整数型
.局部变量 临时文本, 文本型

总长度 = 取文本长度 (完整内容)

.判断开始 (右边文本 = “”)
    .如果 (寻找文本 (完整内容, 左边文本, , 假) > -1)
      ' 调试输出 (“总长度1=”, 总长度)
      临时位置 = 寻找文本 (完整内容, 左边文本, , 假) + 取文本长度 (左边文本)
      ' 调试输出 (“临时位置1=”, 临时位置)
      临时文本 = 取文本中间 (完整内容, 临时位置, 总长度)
      ' 调试输出 (“临时文本1=”, 临时文本)
      ' 总长度 = 取文本长度 (临时文本)
      ' 调试输出 (“总长度2=”, 总长度)
      返回 (临时文本)
    .否则
      返回 (“”)
    .如果结束

.判断 (左边文本 = “”)
    .如果 (寻找文本 (完整内容, 右边文本, , 假) > -1)
      ' 调试输出 (“总长度1=”, 总长度)
      临时位置 = 寻找文本 (完整内容, 右边文本, , 假) - 1' - 取文本长度 (右边文本)
      ' 调试输出 (“临时位置1=”, 临时位置)
      临时文本 = 取文本左边 (完整内容, 临时位置)
      ' 调试输出 (“临时文本1=”, 临时文本)
      ' 总长度 = 取文本长度 (临时文本)
      ' 调试输出 (“总长度2=”, 总长度)
      返回 (临时文本)
    .否则
      返回 (“”)
    .如果结束

.判断 (左边文本 = “” 且 右边文本 = “ ”)
    返回 (“”)
.默认
    .如果 (寻找文本 (完整内容, 左边文本, , 假) > -1)
      临时位置 = 寻找文本 (完整内容, 左边文本, , 假) + 取文本长度 (左边文本)
      临时文本 = 取文本中间 (完整内容, 临时位置, 总长度)
      总长度 = 取文本长度 (临时文本)
      临时位置 = 寻找文本 (临时文本, 右边文本, , 假) - 1
      临时文本 = 取文本中间 (临时文本, 1, 临时位置)
      返回 (临时文本)
    .否则
      返回 (“”)
    .如果结束

.判断结束




.子程序 字节集_到十六进制, 文本型, , 将字节集用16进制表示.可以将字节集用系统标准16进制表示
.参数 原始字节集, 字节集, , 用于转换的字节集
.局部变量 局_文件句柄, 整数型
.局部变量 局_字节集长度, 整数型
.局部变量 局_i, 整数型
.局部变量 局_文本, 文本型

局_文件句柄 = 打开内存文件 ()
局_字节集长度 = 取字节集长度 (原始字节集)
.计次循环首 (局_字节集长度, 局_i)
    插入文本 (局_文件句柄, 到十六进制 (原始字节集 [局_i]))
    处理事件 ()
.计次循环尾 ()
移到文件首 (局_文件句柄)
局_文本 = 读入文本 (局_文件句柄, )
关闭文件 (局_文件句柄)
返回 (局_文本)


.子程序 到十六进制, 文本型, 公开, 返回转换后的十六进制文本
.参数 十进制数据, 整数型, , 传入十进制整型数据
.局部变量 结果, 文本型

结果 = 取十六进制文本 (十进制数据)
.如果真 (取文本长度 (结果) % 2 = 1)
    返回 (“0” + 结果)
.如果真结束
返回 (结果)

.子程序 字节集_还原, 字节集, , 将一串十六进制文本还原为字节集。还原为字节集可以将默认的16进制文本转换成字节集。如“00BFAD00”可还原为{0,191,173,0}
.参数 原始16进制文本, 文本型, , 如“00BFAD00AFD4FD4F9E054F9FF91FC5FF2076FBAFDB071044”
.局部变量 字节集, 字节集
.局部变量 次数, 整数型
.局部变量 临时变量, 整数型

.变量循环首 (1, 取文本长度 (原始16进制文本), 2, 次数)
    临时变量 = 进制_十六到十 (取文本中间 (原始16进制文本, 次数, 2))
    字节集 = 字节集 + 到字节集 (到字节 (临时变量))
    处理事件 ()
.变量循环尾 ()
返回 (字节集)

.子程序 进制_十六到十, 整数型, , 将16进制文件转换到10进制数值(返回十进制数)
.参数 文本, 文本型
.局部变量 i, 整数型
.局部变量 t, 文本型
.局部变量 结果, 整数型
.局部变量 局_文本, 文本型

t = “0123456789ABCDEF”
局_文本 = 到大写 (文本)
.计次循环首 (取文本长度 (文本), i)
    结果 = 结果 × 16 + 寻找文本 (t, 取文本中间 (局_文本, i, 1), , 假) - 1
.计次循环尾 ()
返回 (结果)

.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用



.子程序 首次验证, 字节集, 公开
.参数 软件ID, 文本型
.参数 备注信息, 文本型
.参数 当前软件版本号, 文本型
.局部变量 信息, 软件信息
.局部变量 Bin, 字节集


.如果真 (获取软件信息 (软件ID, 信息, 备注信息, 假) = 真)
    调试输出 (信息.id, 信息.名称, 信息.软件公告)
    .如果真 (信息.是否启用 = 假)
      结束 ()
    .如果真结束
    .如果真 (信息.是否弹出公告)
      窗口_公告.公告内容 = 信息.软件公告
      载入 (窗口_公告, , 真)
    .如果真结束
    .如果真 (到数值 (信息.版本) < 到数值 (当前软件版本号) 且 信息.强制升级 = 真)
      窗口_升级.下载地址 = 信息.升级地址
      载入 (窗口_升级, , 真)
    .如果真结束

.如果真结束
返回 (到字节集 (“心跳包正常”))







.子程序 get_ckey, 文本型
.局部变量 guid, 字节集
.局部变量 a, 长整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 s, 文本型
.局部变量 i, 整数型

guid = 取空白字节集 (16)
CoCreateGuid (guid)
a = 取字节集数据 (取字节集左边 (guid, 4), #长整数型)
b = 取字节集数据 (取字节集中间 (guid, 5, 2), #整数型)
c = 取字节集数据 (取字节集中间 (guid, 7, 2), #整数型)
s = “”
s = s + 取文本右边 (“00000000” + 取十六进制文本 (a), 8) + “-”
s = s + 取文本右边 (“0000” + 取十六进制文本 (b), 4) + “-”
s = s + 到小写 (取文本右边 (“0000” + 取十六进制文本 (c), 4)) + “-”' 第三部分中的字母为小写字母
.计次循环首 (8, i)
    s = s + 取文本右边 (“00” + 取十六进制文本 (guid ), 2)
    .如果真 (i = 2)
      s = s + “-”
    .如果真结束

.计次循环尾 ()
返回 (“{” + s + “}”)




.子程序 get_skey, 文本型
.局部变量 Bytes, 字节集
.局部变量 临时文本, 文本型
.局部变量 临时字节集2, 字节集
.局部变量 S, 字节型, , "256"
.局部变量 K, 字节型, , "256"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 temp, 字节型
.局部变量 Y, 整数型
.局部变量 Outp, 字节集
.局部变量 x, 整数型
.局部变量 t, 整数型
.局部变量 keyS, 整数型
.局部变量 key, 文本型

临时文本 = 到文本 (POST (url, “QQ2217936322=GET_TIME”))


Bytes = 字节集_还原 (临时文本)
.计次循环首 (256, i)
    S = i - 1
.计次循环尾 ()
j = 1
key = 通讯密钥
keyS = 取文本长度 (key)
.计次循环首 (256, i)
    .如果真 (j > keyS)
      j = 1
    .如果真结束
    K = 取代码 (取文本中间 (key, j, 1), 1)
    j = j + 1
.计次循环尾 ()
j = 0
.计次循环首 (256, i)
    j = (j + S + K ) % 256
    temp = S
    S = S
    S = temp
.计次循环尾 ()
i = 0
j = 0
.计次循环首 (取字节集长度 (Bytes), x)
    i = (i + 1) % 256
    j = (j + S ) % 256
    temp = S
    S = S
    S = temp
    t = (S + S % 256) % 256
    Y = S
    Outp = Outp + 到字节集 (到字节 (位异或 (Bytes , Y)))
.计次循环尾 ()

返回 (到文本 (Outp))

.子程序 核心加密, 字节集
.参数 Bytes, 字节集
.参数 key, 文本型
.局部变量 S, 字节型, , "256"
.局部变量 K, 字节型, , "256"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 temp, 字节型
.局部变量 Y, 整数型
.局部变量 Outp, 字节集
.局部变量 x, 整数型
.局部变量 t, 整数型
.局部变量 keyS, 整数型

.计次循环首 (256, i)
    S = i - 1
.计次循环尾 ()
j = 1
keyS = 取文本长度 (key)
.计次循环首 (256, i)
    .如果真 (j > keyS)
      j = 1
    .如果真结束
    K = 取代码 (取文本中间 (key, j, 1), 1)
    j = j + 1

.计次循环尾 ()
j = 0
.计次循环首 (256, i)
    j = (j + S + K ) % 256
    temp = S
    S = S
    S = temp
.计次循环尾 ()
i = 0
j = 0
.计次循环首 (取字节集长度 (Bytes), x)
    i = (i + 1) % 256
    j = (j + S ) % 256
    temp = S
    S = S
    S = temp
    t = (S + S % 256) % 256
    Y = S

    Outp = Outp + 到字节集 (到字节 (位异或 (Bytes , Y)))
.计次循环尾 ()
返回 (Outp)

.子程序 加密, 文本型
.参数 文本, 文本型

返回 (字节集_到十六进制 (核心加密 (到字节集 (字节集_到十六进制 (核心加密 (到字节集 (文本), 通讯密钥))), 服务器密钥)))


.子程序 解密, 文本型
.参数 文本, 文本型

返回 (到文本 (核心加密 (字节集_还原 (到文本 (核心加密 (字节集_还原 (文本), 通讯密钥))), 本机密钥)))


.子程序 获取软件信息, 逻辑型, 公开
.参数 软件ID, 文本型
.参数 信息, 软件信息, 参考 可空
.参数 记录摘要, 文本型, 可空, 最大长度255字符
.参数 是否记录, 逻辑型, 可空, 默认不记录
.局部变量 json, JSON解析
.局部变量 临时文本, 文本型


本机密钥 = get_ckey ()

json.置属性 (“key”, 本机密钥)
json.置属性 (“xl”, “get_soft”)
json.置属性 (“id”, 软件ID)
json.置属性 (“beizhu”, 加密 (记录摘要))
json.置属性 (“sfjl”, 到文本 (到整数 (是否记录)))
json.置属性 (“cpu”, 到文本 (取硬盘特征字 ()))

.计次循环首 (3, )
    临时文本 = POST (url, “QQ2217936322=” + 加密 (json.到文本 ()))
    .如果真 (临时文本 ≠ “”)
      跳出循环 ()
    .如果真结束

.计次循环尾 ()
.如果真 (临时文本 = “”)
    返回 (假)
.如果真结束

临时文本 = 解密 (临时文本)

.如果真 (json.解析 (临时文本) = 假)
    返回 (假)
.如果真结束
信息.id = json.取通用属性 (“id”)
.如果真 (信息.id = “”)
    返回 (假)
.如果真结束
信息.名称 = json.取通用属性 (“软件名称”)
信息.密钥 = json.取通用属性 (“秘钥”)
信息.是否启用 = 选择 (json.取通用属性 (“是否启用”) = “1”, 真, 假)
信息.版本 = json.取通用属性 (“服务器版本”)
信息.升级地址 = json.取通用属性 (“升级地址”)
信息.强制升级 = 选择 (json.取通用属性 (“是否强制升级”) = “1”, 真, 假)
信息.是否弹出公告 = 选择 (json.取通用属性 (“是否弹出公告”) = “1”, 真, 假)
信息.软件公告 = json.取通用属性 (“公告”)
返回 (真)

揰掵佲 发表于 2015-12-28 10:36

淡_碎一地 发表于 2015-12-28 14:07

感谢,带走了
页: [1] 2
查看完整版本: DZ论坛易语言易代码高亮插件开源下载