相对于各种HOOK的安全性、稳定性问题,我更喜欢使用回调来做各种监视
虽然回调函数获取各种信息的时间偏后于先手HOOK获取各种信息的时间,而且不一定可以拦截到什么,但是这更安全。
PsSetCreateProcessNotifyRoutine 进程创建回调(它的回调运行的时候,进程应该已经被创建了,但是还没有跑起来,所以这里可以实现拦截进程创建的效果)
PsSetCreateThreadNotifyRoutine 线程创建回调(检测线程创建,不知道有啥大的用处)
PsSetLoadImageNotifyRoutine 模块加载回调(检测模块加载,不知道能干啥)
PsRemoveLoadImageNotifyRoutine 模块卸载回调
CmRegisterCallback 注册表回调(似乎只能监视,无法实现匹配、拦截)
CmUnRegisterCallback 注册表回调卸载
等等,很多地方可能都有回调,我知道的就这几个,用过的就前四个。
时间: 2024-09-27 08:16:02