hook_进程隐藏
在Windows XP和Windows 7操作系统中,进程隐藏是一种高级技术,通常被安全软件或恶意软件用来规避检测。这里我们讨论的是通过驱动程序实现进程隐藏,具体是利用`Hook ZwQuerySystemInformation`函数来达到目的。 `ZwQuerySystemInformation`是内核模式下获取系统信息的关键API,它允许获取到系统中的各种信息,包括进程、线程、内存管理等。通过挂钩(Hook)这个函数,可以拦截并篡改系统返回的信息,从而达到隐藏特定进程的效果。 在Windows中,驱动程序运行在比应用程序更高的权限级别,即内核模式。这使得驱动程序能够对系统进行更深入的控制,包括操作硬件、管理系统资源以及挂钩系统调用。`HideProcess.sys`这个文件很可能就是一个驱动程序,它的目标就是实现进程隐藏。 要实现`ZwQuerySystemInformation`的挂钩,首先需要编写一个驱动程序,注册一个替代的处理函数。当系统调用`ZwQuerySystemInformation`时,控制权会转到这个替代函数。在该函数中,可以检查请求的系统信息类型,并在返回的进程中过滤掉想要隐藏的进程。 具体步骤如下: 1. **驱动程序注册**:使用`DriverEntry`函数初始化驱动程序,并设置系统调用钩子。在注册过程中,可能需要使用` ZwSetSystemInformation` API 设置自定义的系统信息类。 2. **创建替代函数**:创建一个替代的`ZwQuerySystemInformation`函数,该函数将在系统调用时执行。在这个函数里,你需要遍历所有的进程结构,根据需要隐藏指定的进程。 3. **挂钩系统调用**:利用`ntoskrnl.exe`中的系统调用表,将原始`ZwQuerySystemInformation`替换为我们的替代函数。这通常通过修改IDT(中断描述符表)或GDT(全局描述符表)来完成。 4. **处理系统信息**:在替代函数中,根据`SYSTEM_INFORMATION_CLASS`参数判断请求的系统信息类型。如果请求的是`SystemProcessInformation`,则遍历进程链表,将隐藏的进程从返回的进程列表中移除。 5. **返回控制权**:处理完系统信息后,将控制权交还给原始的`ZwQuerySystemInformation`函数,或者直接返回修改后的结果,取决于你的实现方式。 6. **解除挂钩**:为了保持系统的稳定性,驱动程序需要在卸载时解除挂钩,恢复原始的系统调用处理。 这种方法虽然古老,但在某些情况下仍具有效力。然而,现代的操作系统和安全工具已经能够检测到这种隐藏行为,并可能将其视为潜在的威胁。因此,了解这种技术的同时,也要意识到其可能带来的风险。 总结起来,`hook_进程隐藏`涉及到的是Windows内核驱动开发,特别是系统调用挂钩技术,用于在用户不知情的情况下隐藏进程。这种技术在学习系统底层知识、逆向工程和安全研究中具有重要意义,但应谨慎使用,以免触及法律和道德底线。
- 1
- 蜡笔小兴2013-01-08win7不太好用
- wsxws1632012-09-25编译通过,效果也不错。谢谢楼主分享!
- michaelcg2013-05-25正要实现这个功能,参下
- maxiangming52012-12-16XP 隐藏不了
- 粉丝: 10
- 资源: 47
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Spring Cloud商城项目专栏 049 支付
- sensors-18-03721.pdf
- Facebook.apk
- 推荐一款JTools的call-this-method插件
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip