跳到主要内容

🛰️ HDVT

📌 函数: HDVT_申请内存

描述

VT驱动申请内存

原型

__int64 __stdcall HCHDVT_AllocateMemory(__int32 pid,__int32 size);

参数

__int32 pid - 进程PID
__int32 size - 申请内存大小(字节)

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_申请内存 - 基础示例

.版本 2

.子程序 _申请内存
.局部变量 内存地址, 长整数型

内存地址 = HD内存_申请内存 (0, 0, 4096, 4096, 64)
调试输出 ("内存申请成功,地址: " + 到文本 (内存地址))

HDVT_申请内存 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_申请内存 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_释放内存

描述

VT驱动释放内存

原型

__int64 __stdcall HCHDVT_FreeMemory(__int32 pid,__int64 addr,__int32 size);

参数

__int32 pid - 进程PID
__int64 addr - 释放地址(该地址是由HCHDVT_AllocateMemory申请的内存地址)
__int32 size - 申请内存大小(字节)

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_释放内存 - 基础示例

.版本 2

.子程序 _释放内存
.局部变量 释放结果, 逻辑型

释放结果 = HD内存_释放内存 (0, 8388608, 4096, 32768)
调试输出 ("内存释放成功")

HDVT_释放内存 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_释放内存 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_读内存

描述

VT驱动读内存

原型

__int64 __stdcall HCHDVT_Read(__int32 pid,__int64 addr,void* data,__int32 size);

参数

__int32 pid - 进程PID
__int64 addr - 目标地址
void data - 存读数据的缓冲区地址
__int32 size - 读的大小(字节),缓冲区的大小要大于等于读的大小

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_读内存 - 基础示例

.版本 2

.子程序 _HDDMA读长整数示例
.局部变量 窗口序号, 整数型
.局部变量 进程PID, 整数型
.局部变量 目标地址, 长整数型
.局部变量 长整数值, 长整数型

窗口序号 = 1
进程PID = 1234
目标地址 = 4194304

长整数值 = HDDMA_读长整数 (窗口序号, 进程PID, 目标地址)

调试输出 ("读取长整数值: " + 到文本 (长整数值))
调试输出 ("十六进制: 0x" + 到十六进制 (长整数值))
调试输出 ("详细信息: " + HD通用_获取最近返回json (窗口序号))

HDVT_读内存 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_读内存 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_写内存

描述

VT驱动写内存

原型

__int64 __stdcall HCHDVT_Write(__int32 pid,__int64 addr,void* data,__int32 size);

参数

__int32 pid - 进程PID
__int64 addr - 目标地址
void data - 写入数据的缓冲区地址(存要写的数据)
__int32 size - 写的大小(字节),缓冲区的大小要大于等于写的大小

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_写内存 - 基础示例

.版本 2

.子程序 _写入字节流示例
.局部变量 写入结果, 逻辑型
.局部变量 窗口序号, 整数型
.局部变量 写入地址, 长整数型
.局部变量 字节数据, 字节集

窗口序号 = 0
写入地址 = 8388608 ' 0x800000

' 构建要写入的字节数据
字节数据 = { }
加入成员 (字节数据, 144) ' 0x90 NOP指令
加入成员 (字节数据, 144) ' 0x90
加入成员 (字节数据, 195) ' 0xC3 RET指令

写入结果 = HD内存_写地址字节流 (窗口序号, 写入地址, 字节数据)

.如果 (写入结果 = 真)
调试输出 ("字节数据写入成功")

' 验证写入
.局部变量 验证数据, 字节集
验证数据 = HD内存_读地址字节流 (窗口序号, 写入地址, 取字节集长度 (字节数据))
.如果 (验证数据 = 字节数据)
调试输出 ("字节数据写入验证成功")
.如果结束
.否则
调试输出 ("字节数据写入失败")
.如果结束

HDVT_写内存 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_写内存 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_获取模块地址

描述

VT驱动获取模块地址

原型

__int64 __stdcall HCHDVT_GetModule(__int32 pid,char* moduleName);

参数

__int32 pid - 进程PID
char* moduleName - 模块名字(ascii编码)

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_获取模块地址 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_获取模块地址 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_获取模块函数地址

描述

VT驱动获取模块函数地址

原型

__int64 __stdcall HCHDVT_GetModuleFun(__int32 pid,__int64 moduleAddr,char* funName);

参数

__int32 pid - 进程PID
__int64 moduleAddr - 模块地址
moduleName - 函数名字(ascii编码)

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_获取模块函数地址 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_获取模块函数地址 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_无痕HOOK

描述

VT驱动无痕HOOK,过CRC

原型

__int64 __stdcall HCHDVT_Hook(__int32 pid,__int64 addr,void* data,__int32 size,__int32 type);

参数

__int32 pid - 进程PID
__int64 addr - HOOK地址
void data - 写入数据缓冲区
__int32 size - 写入数据缓冲区大小
__int32 type -
0 - 关闭VTHCHDVT_Hook(0,0,0,0,0)
1 - 开启VTHCHDVT_Hook(0,0,0,0,1)
2 - VT写入HCHDVT_Hook(pid,addr,data,size,2)
3 - VT恢复之前HOOK的地址HCHDVT_Hook(pid,addr,0,0,3)

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_无痕HOOK - 基础示例

.版本 2

.子程序 测试修改Send参数, 长整数型, 公开
.局部变量 窗口序号, 整数型
.局部变量 结果, 长整数型
.局部变量 新缓冲区地址, 长整数型

窗口序号 = 1

' 假设在回调函数中修改发送内容
新缓冲区地址 = 申请内存 (100, 真)
内存_写文本 (新缓冲区地址, "修改后的发送内容", #GB2312)

' 修改发送参数(只修改缓冲区地址)
结果 = HDHOOK_设置拦截Send返回参数 (窗口序号, 64, 0, 新缓冲区地址, 0, 0, 0, 0, 0, 2)
.如果 (结果 = 1)
调试输出 ("Send参数修改成功")
.否则
调试输出 ("Send参数修改失败")
.如果结束

返回 (结果)

HDVT_无痕HOOK - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_无痕HOOK - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_远程执行

描述

VT驱动远程插入执行

原型

__int64 __stdcall HCHDVT_RemoteCall(__int32 pid,void* data,__int32 size);

参数

__int32 pid - 进程PID
void data - 执行shellcode首地址(注意
__int32 size - shellcode字节大小

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_远程执行 - 基础示例

.版本 2

.子程序 测试Lua函数调用, 逻辑型, 公开
.局部变量 窗口序号, 整数型
.局部变量 函数名, 文本型
.局部变量 参数个数, 整数型
.局部变量 结果, 逻辑型
.局部变量 返回值, 文本型

窗口序号 = 1
函数名 = "testFunction" ' Lua脚本中的函数名
参数个数 = 3

调试输出 ("调用Lua函数:", 函数名)
调试输出 ("传递", 参数个数, "个参数")

' 调用Lua函数
结果 = HDLUA_执行CALL (窗口序号, 函数名, 参数个数, 100, 200, 300, 0, 0, 0, 假)
.如果 (结果 = 真)
调试输出 ("Lua函数调用成功")

' 获取函数返回值
返回值 = HD通用_获取最近返回json (窗口序号)
.如果 (返回值 ≠ "")
调试输出 ("函数返回值:", 返回值)
.如果结束
.否则
调试输出 ("Lua函数调用失败")
调试输出 ("请检查函数名是否正确:", 函数名)
.如果结束

返回 (结果)

HDVT_远程执行 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_远程执行 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HCHDVT_InjectX64

描述

VT驱动无痕无模块注入X64DLL

原型

__int64 __stdcall HCHDVT_InjectX64(__int32 pid,void* data,__int32 size);

参数

__int32 pid - 进程PID
void data - DLL二进制数据
__int32 size - DLL二进制数据大小

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HCHDVT_InjectX64 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HCHDVT_InjectX64 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HCHDVT_InjectX86

描述

VT驱动无痕无模块注入X86DLL

原型

__int64 __stdcall HCHDVT_InjectX86(__int32 pid,void* data,__int32 size);

参数

__int32 pid - 进程PID
void data - DLL二进制数据
__int32 size - DLL二进制数据大小

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HCHDVT_InjectX86 - 基础示例

.版本 2

.子程序 测试注入JS文件, 逻辑型, 公开
.局部变量 窗口序号, 整数型
.局部变量 JS文件路径, 文本型
.局部变量 结果, 逻辑型

窗口序号 = 1
JS文件路径 = "scripts\automation.js"

调试输出 ("准备注入JavaScript文件")
调试输出 ("文件路径:", JS文件路径)

' 检查文件是否存在
.如果 (文件是否存在 (JS文件路径))
' 注入JavaScript文件
结果 = HD内置浏览器_注入谷歌JS文件 (窗口序号, JS文件路径, 假)
.如果 (结果 = 真)
调试输出 ("JavaScript文件注入成功")
调试输出 ("文件内容已在浏览器中执行")
.否则
调试输出 ("JavaScript文件注入失败")
调试输出 ("请检查文件格式和浏览器连接状态")
.如果结束
.否则
调试输出 ("JavaScript文件不存在:", JS文件路径)
结果 = 假
.如果结束

返回 (结果)

HCHDVT_InjectX86 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HCHDVT_InjectX86 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_安装插件X64

描述

VT驱动无痕无模块安装X64插件到目标进程中

原型

__int64 __stdcall HCHDVT_InstallPlugX64(__int32 pid);

参数

__int32 pid - 进程PID

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_安装插件X64 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_安装插件X64 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")

📌 函数: HDVT_安装插件X86

描述

VT驱动无痕无模块安装X86插件到目标进程中

原型

__int64 __stdcall HCHDVT_InstallPlugX86(__int32 pid);

参数

__int32 pid - 进程PID

返回值

查看返回值表

注意事项

需要调用HCHD_LoadDrv2传递参数2来安装HDVT驱动

HDVT_安装插件X86 - 进阶用法

.版本 2
.子程序 示例2
调试输出("示例2")

HDVT_安装插件X86 - 高级应用

.版本 2
.子程序 高级示例
调试输出("高级示例")