~BUzyc% 原文地址 mY)Y47iL bu2@~ UY ^dFbJ SYSENTER-HOOK
I[x+
7Y0k9 F6L}n-p5 实验环境:win7虚拟机
-T,/S^ 示例是对内核层进行SYSENTER-HOOK实现保护进程的功能
~.:9~(2; Tz`O+fx& SYSENTER-HOOK也成称为KiFastCallEntry-Hook,它相当于是内核层的Inline-Hook,通过修改SYSENTER_EIP_MSR 寄存器使其指向我们自己的函数,那么我们就可以在自己的的函数中对所有来自3环的函数调用进行第一手过滤。
j O-H1@; #`g..3ey 一会儿会用到的API是OpenProcess,在3环也就是用户层调用此API它保存一些信息传入到0环内核层后实际调用的是ZwOpenProcess函数,所以先使用OD随意打开一个.exe可执行程序,然后在kernel32模块里面查找OpenProcess函数,经过2个jmp后进入下一层,找到一个call进入其中便是ZwOpenProcess的调用。
u|.c?fW'3 `wMHjcUP
x)]_]_vX ]-rhc.Gk@1
,k9@%{4 l (G
E) 下面调用API代码才是我们需要注意的,每个API函数调用时在进入关键函数之前都有:
&8!~H<S &