Tersafe.sys的Tricky

博客详细讨论了Tersafe.sys如何通过HOOK Shadow Service Descriptor Table中的Win32K.Sys导出服务,如NtGdiSetVirtualResource等。尽管可以通过RootKit Unhooker发现并尝试恢复,但Tersafe.sys可能进行动态监测,导致恢复过程复杂。博主试图编写程序恢复被HOOK的NtOpenProcess,但在测试中导致蓝屏和设备问题,指出卡巴斯基的广泛驱动层HOOK可能影响系统性能和稳定性。
摘要由CSDN通过智能技术生成
使用RootKit Unhooker可以很容易的发现Tersafe.sys对Shadow Service Descriptor Table进行了HOOK,但基本上是静态HOOK,即在Tersafe.Sys启动的时候会替换Shadow table中对应的原始System Service,主要是如下几个函数:NtGdiSetVirtualResource、NtUserSetClipboardData、NtUserQueryWindow、NtUserGetDC、NtUserGetDCEx、UserBuildHwndList、NtUserExcludeUpdateRgn、NtUserGetForegroundWindow、NtUserWindowFromPoint等Win32K.Sys导出的系统服务。替换成Tersafe.sys相应的服务; 网上有相关的资料是解决这个tricky的,在应用层,用户就可以FindWindow,GetWindowThreadProcessById等函数来获得进程ID号。 但依然无法使用OpenProcess打开进程。 打开Windbg,进入本地(Local)的Kernel Debug; lkd> x nt!NtOpenProcess 805cc408 nt!NtOpenProcess = 然后 lkd> u nt!NtOpenProcess nt!NtOpenProcess: 805cc408 68c4000000 push 0xc4 805cc40d e9c4415e3a jmp babb05d6 //这里很明显被Inline HOOK, 805cc412 e87907f7ff call nt!_SEH_prolog (8053cb90) 805cc417 33f6 xor esi,esi 805cc419 8975d4 mov [ebp-0x2c],esi 805cc41c 33c0 xor eax,eax 805cc41e 8d7dd8 lea edi,[ebp-0x28] 805cc421 ab stosd 由于卡巴斯基也会静态H
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值