|
发表于 2025-2-19 05:35:52
|
显示全部楼层
广东省深圳市
.版本 2
.子程序 远程发包_WSASend, 逻辑型
.参数 套接字, 整数型
.参数 请求字节集, 字节集
.参数 请求长度, 整数型
.局部变量 请求地址, 整数型
.局部变量 参数, 整数型, , "7"
.局部变量 发送字节集, 字节集
.局部变量 ret, 整数型
.局部变量 局部_缓冲区, 整数型
.局部变量 局部_实发缓冲区, 整数型
.局部变量 局部_wsa数组缓冲, 整数型
.如果真 (进程句柄 > 0)
hook_WSASend.暂停 (WSASend_返回.原始地址, WSASend_返回.原始数据)
' 版本1
' 发送字节集 = 到字节集 (请求长度) + 请求字节集
' 请求地址 = 内存_申请字节集内存 (进程句柄, 发送字节集, 字节集_取字节集长度 (发送字节集))
' 参数 [1] = 套接字
' 参数 [2] = 请求地址 ' 第二个参数是长度+数据指针
' 参数 [3] = 1
' 参数 [4] = 0
' 参数 [5] = 0
' 参数 [6] = 0
' 参数 [7] = 0
' 版本2
局部_缓冲区 = 内存_申请内存 (进程句柄, 1024, )
' 如果真 (局部_缓冲区 < 65535)
.如果真结束
' 返回 (假)
局部_实发缓冲区 = 局部_缓冲区
局部_wsa数组缓冲 = 局部_缓冲区 + 8
内存_写整数型 (进程句柄, 局部_wsa数组缓冲, 取字节集长度 (请求字节集))
请求地址 = 内存_申请字节集内存 (进程句柄, 请求字节集, 字节集_取字节集长度 (请求字节集))
内存_写整数型 (进程句柄, 局部_wsa数组缓冲 + 4, 请求地址)
参数 [1] = 套接字
参数 [2] = 局部_wsa数组缓冲
参数 [3] = 1
ret = 进程_远程调用call (进程句柄, WSASend_返回.原始地址, 参数, )
' 信息框 (“结果出来了:” + 到文本 (ret), 0, “结果”, )
内存_释放内存 (进程句柄, 请求地址)
内存_释放内存 (进程句柄, 局部_wsa数组缓冲)
hook_WSASend.继续 (WSASend_返回.原始地址, WSASend_返回.hook数据)
返回 (真)
返回 (假)
|
|