云盾网络验证整套开源

易语言 2020-07-17 10:10:53

云盾网络验证整套开源

.子程序 通信_创建数据, 整数型, , 此函数会创建一个共享内存.供dll或者其他进程读取 成功返回数据句柄,失败返回0,在不使用的时候调用: 通信_销毁数据(句柄) 销毁这个句柄
.参数 数据名称, 文本型, , 设定一个名称,用来区分。 已经创建过的内存 会创建失败
.参数 要创建的数据, 字节集, , 字节集长度最多支持3504, 超过长度部分不被创建。
.参数 数据附加密码, 文本型, , 附加密码
.局部变量 逻辑, 逻辑型
.局部变量 信息, 字节集
.局部变量 空白文本1, 文本型
.局部变量 空白文本2, 文本型
.局部变量 句柄, 整数型
.局部变量 指针, 整数型
.局部变量 偏移后的指针, 整数型
.局部变量 加密数据, 字节集
.局部变量 通信密码, 双精度小数型

句柄 = OpenFileMappingA (983071, 真, “YUNDUN_” + 数据名称)
.如果真 (句柄 > 0)
CloseHandle (句柄)
返回 (0)
.如果真结束
句柄 = CreateFileMappingA (-1, 0, 4, 0, 10000, “YUNDUN_” + 数据名称)
.如果真 (句柄 < 1)
返回 (0)
.如果真结束
指针 = MapViewOfFile (句柄, 2, 0, 0, 0)
.如果真 (指针 = 0)
CloseHandle (句柄)
返回 (0)
.如果真结束
偏移后的指针 = 指针 + 10000 - 100
写到内存 (字节集到十六 (动态加密_ (到字节集 (到文本 (取自身进程ID ()) + “|” + 到文本 (GetCurrentThreadId ())), , 真)), 偏移后的指针, 100)
信息 = 到字节集 (到文本 (取自身进程ID ()) + “|” + 到文本 (GetCurrentThreadId ()))
通信密码 = 5342620.625
写到内存 (加密数据, 指针, 10000 - 104)
写到内存 (取字节集长度 (加密数据), 指针 + 10000 - 104, 4)
UnmapViewOfFile (指针)
空白文本1 = 取空白文本 (取文本长度 (空白文本1))
空白文本2 = 取空白文本 (取文本长度 (空白文本2))
信息 = 取空白字节集 (取字节集长度 (信息))

ETCP初始化 (&服务端回调, , 128)
g_服务指针 = 服务端创建 (0, 真)
启动参数 = 进程_取启动参数 () ' 服务端日志窗口
.如果真 (到整数 (取文本左边 (启动参数, 3)) ≠ 123)
返回 (0)
.如果真结束
通信_创建数据 (“g_addr” + 文本_取出中间文本 (启动参数, “123|”, “|3”), 到字节集 (服务端取端口 (g_服务指针)), “123”)
_设置控制台标题 (“服务端日志窗口:” + 文本_取出中间文本 (启动参数, “123|”, “|3”))
输入文本 = 标准输入 (真)
.判断循环首 (取文本长度 (输入文本) > 0)
.如果真 (输入文本 = “errerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerrerr”)
跳出循环 ()
.如果真结束
输入文本 = 标准输入 (真)
.判断循环尾 ()