|
楼主 |
发表于 2024-9-21 05:59:15
|
显示全部楼层
广西壮族自治区南宁市
远程hook64指令_安装 (进程句柄, 原地址, 5, &子程序1, 自定义值1,自定义值2 ,自定义值3)
在这个命令中,参数4、5、6、7要怎么填写呢?我只想取地址中 rdi 的值,参数4是子程序指针但是是整数型,要不要 到整数(&子程序1)呢?然后我的值输出是在子程序1里输出还是 远程hook64指令_安装()之后根据自定义值输出呢?
子程序名:远程hook64指令_安装
成功返回真,失败返回假.hook位置长度的指令中尽可能不要含有跳转被跳转情况,除非你知道是可控的,或能熟练转移RIP
返回值类型:逻辑型
参数<1>的名称为“进程句柄”,类型为“整数型”。注明:目标的进程句柄,该句柄由用户提前打开并提供,*注意:该句柄用户在hook过程中切记外部不要关闭,否则会导致HOOK异常,当使用 hook64指令_全部卸载() 时可选择关闭。
参数<2>的名称为“hook地址”,类型为“长整数型”。注明:要拦截指令所在内存地址,修改此处指令为jmp到用户回调接口子程序里去.实现拦截汇编代码执行,得到当时各寄存器 *注意:保存该值供后面暂停使用。
参数<3>的名称为“hook长度”,类型为“整数型”。注明:hook长度,最小支持5,最大119字节范围,必须使用完整的汇编语句构成的长度 在这个长度内代码最好不要包含有跳转指令或被跳情况,除非你熟悉并了解hook逻辑和本功能方可无视提示。
参数<4>的名称为“回调接口”,类型为“整数型”。注明:*注意:注意这是一个回调接口指针数值;回调接口---> <整数型> 回调接口 ([寄存器参考 可空 寄存器64],[自定义回调值参考 可空 自定义回调值],[进程句柄值参考 可空 整数型],[线程ID值参考 可空 整数型]) 返回值代表是否执行Hook掉的原指令(0=执行,>0不执行)。
参数<5>的名称为“自定义值1”,类型为“长整数型”,允许接收空参数数据。注明:在回调接口里可获取到该值,比如 远程hook64指令_安装()这个参数提供了目标进程PID,那么在 回调接口 中可以对应取到该值。
参数<6>的名称为“自定义值2”,类型为“长整数型”,允许接收空参数数据。注明:在回调接口里可获取到该值,这些 自定义值1.2.3 会写进穿插代码中,安装时设置了什么值,hook点触发后回调中会相应传回。
参数<7>的名称为“自定义值3”,类型为“长整数型”,允许接收空参数数据。注明:在回调接口里可获取到该值,这些 自定义值1.2.3 也都是独立的,每个安装可以设置不同的值,不会因为多个目标或多个hook点产生混淆。 |
|