|
分享例程
界面截图: |
|
备注说明: |
- |
无聊之作.不清楚有没有bug,做商业项目的还是老老实实用detours库吧{:soso_e120:}
模块用途:便捷Hook 所以取了个名字叫easyhook(如有雷同纯属抄袭)
修正命令如下:
JO , JNO , JB/JC/JNAE , JAE/JNB/JNC , JE/JZ , JNE/JNZ , JBE/JNA , JA/JNBE , JS
JNS , JP/JPE , JNP/JPO , JL/JNGE , JGE/JNL , JLE/JNG , JG/JNLE , JMP , CALL
模块主要命令解释:
SetThreadSuspend
.参数 是否暂停, 逻辑型
功能:设置操作时是否暂停其他线程,一般为防止多线程下崩溃。 此函数参数为真时HOOK前会自动暂停其他线程 完毕后恢复
HookFunc
.参数 旧函数地址, 整数型, 参考, 如HOOK安装成功 [旧函数地址=新代码地址]
.参数 新函数地址, 整数型
功能:hook旧函数地址 jmp到新函数地址上,函数返回真代表成功 且 旧函数地址=新过程地址(旧函数地址处代码还原)
如旧函数已被自身HOOK 则直接返回上次HOOK内容
优势:不会覆盖其他HOOK 且支持各种跳转命令处理
UnHook
功能:卸载HOOK
下面是3个代码处理例子 假设左边为 [旧函数地址(Hook地址)] 右边为HookFunc函数处理后的新过程
模块源码+调用例子
easy_hook.rar
(13.83 KB, 下载次数: 516)
|
评分
-
查看全部评分
|