能力值:
(RANK:280 )
2 楼
从文件ntoskrnl.exe读出原始表,然后在内存中恢复
能力值:
( LV12,RANK:1010 )
3 楼
貌似是和System Service Interrupt有关。
你HOOK 0x2e看看能不能转接到你自己建立的SSDT表中。
偶也没弄过,不是很清楚,说错了就当是胡扯
能力值:
( LV8,RANK:130 )
4 楼
同意大米。
虽然我也不懂。
不过去弄中断这个思路应该是可行的。
能力值:
( LV12,RANK:1010 )
5 楼
我知道你懂的~~
是不是
KiSystemService 啊?
能力值:
( LV2,RANK:10 )
6 楼
hook sysenter然后自己处理?
能力值:
( LV8,RANK:130 )
7 楼
<<Rootkits: Subverting the Windows Kernel >>中只说到这
“较新版本的Windows系统不再用INT 2E或通过IDT来请求系统调用表中的服务。而是使用快速调用方法(fast call method)。在这种方法中,NTDLL向EAX寄存器中加载被请求服务的系统调用号,向EDX寄存器中加载当前堆栈指针ESP。然后发出Intel指令SYSENTER。
SYSENTER指令将控制权传递给模型相关寄存器(Model-Specific Register,MSR)IA32_SYSENTER_EIP中指定的地址。可以读写该寄存器,但它是一条特权指令,这意味着必须从环0级别上执行该指令。
以下是一个简单的驱动程序,它读取IA32_SYSENTER_EIP的值,将其存储在一个全局变量中,然后将钩子地址填充到该寄存器中。MyKiFastCallEntry钩子只是跳转到原始的函数,不执行其他任何工作。这是钩住SYSENTER控制流程所需的第一步。
”
至于系统下面是怎么执行并找到SSDT表就不清楚了
能力值:
(RANK:280 )
8 楼
SSDT的地址在NTOSKRNL初始化的时候被存入MSR了,对这个感兴趣的话可以反汇编NTOSKRNL看一下
虽然可以替换整张表,但理论上rootkit同样可以欺骗检查SSDT的动作或是保护hook过的SSDT
这个游戏先入者占有理论上的优势,但是如果有针对性的分析也总能找到相应的手段绕过
能力值:
( LV8,RANK:130 )
9 楼
看来还是先反汇编NTOSKRNL看一下