由于易语言的异常处理十分的不方便,并且单个程序不能隐藏自身,所以相关代码使用了汇编.
经过了一些简单的计算使得相关高执行代码块得到协调.
具体原理自行分析.
与此相同原理易语言可以开发出VEH无限无痕HOOK,并不是硬断.
使用起来如这般: Non_trace_hook.SetJmpToNonTrace(base->GetHookAddr(地址_hk), (PVOID)(取JMP地址(base->GetHookAddr(地址_hk))));
然后在内存异常中实现读写执行分离.这类效果只能欺骗本进程的读写,超越本进程则一切读写将处于失败状态.
虽然已经完成,但是无痕hook的处理代码十分复杂,要计算DLL的各种导入表,所以会像这份源码一样,会在它完成了的很长一段时间我才会选择开源.
注意,该代码会影响执行效率,并且能影响杀毒软件和某些保护的内存扫描,请不要用于非法用途.
再次注意,该代码的目的不是为了防破J,因为在隐藏处理的时候没有进行异或加密,所以外部技术可以解除内存隐藏保护.
最后注意,这个技术具体作用请大家自行意淫.