使用文档(类)
MemoryOpera
内存包含属性操作类
Prepare(HANDLE process, uintptr_t address, SIZE_T size)
- 准备要修改的数据
- 参数1:process(进程句柄)
- 参数2:address(要修改的内存起始地址)
- 参数3:size(修改范围)
- 无返回值
Chage(int choose = 1)
- 修改内存保护属性
- 参数1:choose(修改类型,1.只读、2.读写、3.可读可写可执行)
- 返回执行结果(bool)
Restore()
- 还原内存保护属性
- 返回执行结果(bool)
InlineHookRelativeMode
InlineHook相对寻址模式(这种方式至少预留要5个字节(32/64位))
install(HANDLE process, uintptr_t address, std::vector machineCode, int byteGroupNumber = 0, bool is64 = false)
- 准备hook数据
- 参数1:process(进程句柄)
- 参数2:address(要Hook的内存地址)
- 参数3:machineCode(要写入的机器码)
- 参数4:byteGroupNumber(写入长度,默认为0但是填写正确长度是必要的,超过机器码长度的部分会填充NOP)
- 参数5:is64 (写入长度)
- 无返回值
hook()
- 加载钩子
- 返回执行结果(BOOL)
uninstall()
- 卸载钩子
- 返回执行结果(BOOL)
InlineHookAbsoluteMode
InlineHook绝对寻址模式(这种方式至少预留要9个字节(32位),14个字节(64位))
install(HANDLE process, uintptr_t address, std::vector machineCode, int byteGroupNumber = 0, bool is64 = false)
- 准备hook数据
- 参数1:process(进程句柄)
- 参数2:address(要Hook的内存地址)
- 参数3:machineCode(要写入的机器码)
- 参数4:byteGroupNumber(写入长度,默认为0但是填写正确长度是必要的,超过机器码长度的部分会填充NOP)
- 参数5:is64 (是否是64位)
- 无返回值
hook()
- 加载钩子
- 返回执行结果(BOOL)
uninstall()
- 卸载钩子
- 返回执行结果(BOOL)