.版本 2
.支持库 eAPI
.支持库 spec
.程序集 启动窗口, , ,
.程序集变量 窗口地址, 整数型, , ,
.程序集变量 结构数组, 数据结构, , "0",
.程序集变量 进程PID, 整数型
.程序集变量 调用地址, 整数型
.子程序 __启动窗口_创建完毕
.子程序 添加表项回调, , ,
.参数 数据指针, 整数型
.局部变量 数据结构, 数据结构
.局部变量 当前表项, 整数型
.局部变量 操作, 文本型
.局部变量 函数, 文本型
.局部变量 协议, 文本型
API_写到内存 (数据结构, 数据指针, 32)
加入成员 (结构数组, 数据结构)
.子程序 取进程PID, 整数型, 公开, 用进程名称取PID,区分大小写
.参数 进程名称, 文本型
.局部变量 进程, 进程信息, , "0"
.局部变量 i, 整数型
进程 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程), i)
.如果真 (进程 .进程名称 = 进程名称)
进程PID = 进程 .进程标识符
.如果真结束
.计次循环尾 ()
返回 (进程PID)
.子程序 设置截取状态, 逻辑型, ,
.参数 操作代码, 整数型
.参数 返回值, 整数型, 参考 可空
.局部变量 汇编代码, 字节集
汇编代码 = { 104 } + 到字节集 (操作代码) + { 255, 21 } + 到字节集 (调用地址) + { 195 }
返回 (功能.常用类.远程执行汇编 (进程PID, 汇编代码, 返回值))
.子程序 十六进制到字节集, 字节集
.参数 原文, 文本型
.局部变量 长度, 整数型
.局部变量 结果, 字节集
原文 = 删全部空 (原文)
置入代码 ({ 139, 125, 8, 139, 63, 137, 125, 244, 131, 125, 244, 0, 15, 133, 31, 0, 0, 0, 139, 69, 252, 133, 192, 116, 19, 80, 139, 64, 4, 131, 192, 8, 80, 232, 184, 2, 0, 0, 89, 94, 139, 248, 243, 164, 233, 26, 1, 0, 0, 131, 201, 255, 51, 192, 242, 174, 247, 209, 73, 209, 233, 137, 77, 248, 131, 125, 248, 1, 15, 141, 4, 0, 0, 0, 201, 194, 4, 0, 139, 117, 8, 139, 54 })
结果 = 取空白字节集 (长度)
置入代码 ({ 131, 192, 8, 139, 248, 209, 101, 248, 139, 77, 248, 232, 0, 0, 0, 0, 91, 131, 195, 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, 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 })
返回 (结果)
.子程序 取自身进程ID, 整数型
置入代码 ({ 100, 161, 32, 0, 0, 0, 201, 195 })
返回 (0)
.子程序 __启动窗口_将被销毁
.局部变量 模块句柄, 整数型
.如果真 (进程PID ≠ 0)
设置截取状态 (-1, 模块句柄)
功能.常用类.远程卸载注入 (进程PID, 模块句柄)
.如果真结束
.子程序 _按钮1_被单击
.局部变量 请求内容, 字节集
.局部变量 i, 整数型
请求内容 = 十六进制到字节集 (编辑框1.内容)
.计次循环首 (到整数 (循环.内容), i)
延迟 (到整数 (延迟.内容))
功能.常用类.远程发送请求 (进程PID, 结构数组 [1].套接字, 请求内容, 调用地址 + 8, 结构数组 [1].IP信息)
.计次循环尾 ()
.子程序 _初始化_被单击
.局部变量 文件路径, 文本型
.局部变量 操作代码, 整数型
初始化结构指针 (功能)
文件路径 = 取运行目录 () + “\hook32.dll”
.如果真 (文件是否存在 (文件路径) = 假)
信息框 (“没有找到依赖文件 hook32.dll,无法进行下一步操作!”, 16, “系统提示”, )
返回 ()
.如果真结束
进程PID = 取进程PID (“cq2.exe”)
.如果真 (功能.常用类.远程线程注入 (进程PID, 文件路径, “GetProcPointer”, 调用地址, &添加表项回调, 取自身进程ID ()) = 假)
信息框 (“该进程拒绝访问!”, 16, “系统提示”, )
返回 ()
.如果真结束
操作代码 = 1
设置截取状态 (指针到整数 (取变量数据地址 (操作代码)))
|