如何检测自己程序的API被HOOK了

如何检测自己程序的API被HOOK了,第1张

WIN将所有御蠢HOOK组成一个list最后HOOK的在list头系统是从list头还是镇闹陪调用回调,如果回调弯悔中有调用CallNextHook,下面的HOOK才能收到如果你能保证你在最后钩上,就能防止其他HOOK程序~

过程是跳转到自己的一个特定的地址处理),隐藏进程的 *** 作,也就是链表的删除其实没有什么神秘的。

检测的方法同样也很简单,今天我们说的方法算是最稳定、最简单的在Ring0下检测隐藏进程的了,不需要牵扯到稍微复杂的

PspCidTable(进程句柄表),毕竟贺尘PspCidTable的结构对于每一个系统来说是不一样的,在Windows

2000中为两层表,到了XP以后就变成三层了;同时,它在每个系统中获得的地址也不一样,所以我们仍使用

ZwQuerySystemInformation来枚举。或许有人会说它只能枚举出Ring3中Hook EnumProcess或Hook

CreateToolhelp32Snapshot这样的Win32

API隐藏的进程。由于篇幅的问题,如何获取真实的SSDT(系统服务描述表)地址,我会在下一期中告诉大家通用的方法获取该值,所以大家不用担心无法检测到灰鸽子、PcShare木马。首先要说的是在驱动中分配内存的函数不再是new和delete,而是ExAllocatePool和

ExFreePool。如果系统进程过多,ZwQuerySystemInformation的调用可能会失败,本文采用一个循环重新分配缓冲区的大小,每次增加两倍的缓冲区大小,直到成芦埋功为止。文陪拍蚂中缓冲区的初始值大小为32KB,如果首次分配过多会导致SYSTEM内核进程内存占用过多,影响系统性能等问题,同时内核驱动为Unicode编码,这点需要大家注意。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12379752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存