由于易语言的异常处理非常不方便,且单个程序无法隐藏自身,因此相关代码使用汇编。
经过一些简单的计算,相关的高性能代码块就被协调起来。
具体原理自己分析。
同样的原理,易语言可以开发VEH无限无痕HOOK,这并不是什么难事。
像这样使用它:Non_trace_hook.SetJmpToNonTrace(base->GetHookAddr(address_hk), (PVOID)(take JMP address(base->GetHookAddr(address_hk))));
然后实现内存异常中读、写、执行的分离。这种效果只能欺骗这个进程的读写,超出这个进程的所有读写都会处于失败的状态。
虽然已经完成了,但是无痕钩子的处理代码非常复杂。它需要计算DLL的各种导入表,所以才会像这个源码,完成后很久我才会选择开源。
16060729602[下载].rar
|