qqwp520 发表于 2025-5-16 15:42:35

远程拦截与发送 拦截成功发送闪退求助




.版本 2
.支持库 spec

.子程序 _按钮_停止拦截_被单击

.如果真 (进程句柄 > 0)
    HOOKSend.暂停 (Send返回.原始地址, Send返回.原始数据)
    延迟 (50)
    HOOKSend.卸载 ()
.如果真结束



.子程序 _按钮_发送封包_被单击
.局部变量 参数, 整数型, , "4", 1套接字 2 封包地址 3封包长度 4 0
.局部变量 封包内容, 字节集
.局部变量 套接字, 整数型
.局部变量 封包地址, 整数型
.局部变量 封包长度, 整数型
.局部变量 发送DLL地址, 整数型

进程句柄 = 进程_打开1 (组合框_进程列表.取项目数值 (组合框_进程列表.现行选中项))

.如果 (进程句柄 ≤ 0)
    信息框 (“进程句柄无效!请先选择进程并开始拦截。”, 0, “错误”, )
    返回 ()
.否则

.如果结束

.如果 (Send地址 ≤ 0)
    信息框 (“Send函数地址无效!请先开始拦截。”, 0, “错误”, )
    返回 ()
.否则

.如果结束

HOOKSend.暂停 (Send返回.原始地址, Send返回.原始数据)
套接字 = 到整数 (编辑框_套接字.内容)
.如果 (套接字 ≤ 0)
    信息框 (“套接字无效!请输入有效的套接字编号。”, 0, “错误”, )
    HOOKSend.继续 (Send返回.原始地址, Send返回.hook数据)
    返回 ()
.否则

.如果结束


封包内容 = 字节集_十六进制到字节集 (删全部空 (编辑框_发送封包内容.内容))
.如果 (取字节集长度 (封包内容) = 0)
    信息框 (“封包内容无效!请输入有效的十六进制封包内容。”, 0, “错误”, )
    HOOKSend.继续 (Send返回.原始地址, Send返回.hook数据)
    返回 ()
.否则

.如果结束


封包长度 = 取字节集长度 (封包内容)
.如果 (到整数 (编辑框_封包长度.内容) > 0)
    封包长度 = 到整数 (编辑框_封包长度.内容)
.否则

.如果结束

.如果 (封包长度 ≤ 0)
    信息框 (“封包长度无效!”, 0, “错误”, )
    HOOKSend.继续 (Send返回.原始地址, Send返回.hook数据)
    返回 ()
.否则

.如果结束



封包地址 = 内存.申请字节集内存 (进程句柄, 封包内容, 到整数 (编辑框_封包长度.内容))
.如果 (封包地址 = 0)
    信息框 (“内存申请失败!”, 0, “错误”, )
    HOOKSend.继续 (Send返回.原始地址, Send返回.hook数据)
    返回 ()
.否则

.如果结束


参数 = 套接字
参数 = 封包地址
参数 = 封包长度
参数 = 0
进程_远程调用call (进程句柄, Send返回.原始地址, 参数, )
内存.释放内存 (进程句柄, 封包地址)
HOOKSend.继续 (Send返回.原始地址, Send返回.hook数据)


按照天野模块仿作后拦截停止有效
填写好封包内容套接字长度后点击发送封包就卡死然后闪退弹出信息框提示远程调用失败,错误码:-1073741819

请大佬帮助 需要源码测试联系我497235615
页: [1]
查看完整版本: 远程拦截与发送 拦截成功发送闪退求助