2008-10-07 122 views
0

我想知道从哪里开始,或者它有多可能挂钩或修补windows内核(XP及更高版本)。我特别感兴趣的是像McAfee Entercept这样的软件,或者对内核进行修补的某些防病毒扫描程序。我想知道创业公司创建软件的可行性,这些软件在内核中增加了功能(我知道KPP,它可能会被绕过),以及这样做的任何重复。我无法找到一个简单的描述,只有有限的Win32经验。任何帮助是非常赞赏,NT内核编程

Ĵ

进一步澄清:我不是一个驱动程序后等,并有兴趣,如果它在技术上是可能的端口类似pax来,例如窗户。这是一个不好的例子,因为windows已经有了一个实现,但是我感兴趣的是如果类似的技术可以移植而不需要访问NT源代码。

回答

2

是的,它很有可能挂钩到内核中。我强烈建议书Windows InternalsRootkits

这些应该会给你所有你需要的信息。

2

Microsoft Detours库允许您拦截进程中的API调用,并插入或替换自己的代码。

请注意,成功完成这类事情可能需要的不仅仅是有限的Win32体验。如你所想,这可能是一个非常复杂的话题。

+0

注意:这不会帮助修补内核,只修补用户空间。 – 2008-10-07 09:59:10

+0

它不会但不清楚他所要求的内核驱动程序(在Windows内核世界中,修补不是一个正确的术语)并不是他所需要的,这个库就足够了。 – Ilya 2008-10-07 10:27:30

2

驱动程序开发并不是一件容易的事情。防病毒软件需要处理使生活更复杂的文件系统(文件系统过滤器驱动程序)。如果你试图描述你想要获得更详细的内容,这将是有用的。

驱动程序开发最推荐的资源是OSR。有2名相关的邮件列表:

  1. ntdev对于一般驾驶者发展
  2. ntfsd对于文件系统驱动开发

图书列表可以发现here

除非驱动程序是你的核心繁忙(在这种情况下找到具有内核经验的人),我强烈建议外包这项工作。在上面的列表中,您可以找到许多顾问。

不幸的是Windows源码基本上无法访问:)。要玩虚拟内存管理器,你必须处于内核模式,如果这是可能的话。

尝试在ntdev上提出这个问题,你会问世界上的大多数内核开发者。你需要提出更具体的问题才能得到合理的答案(我会观看线索,有趣的话题)。
如果正确理解你想要做什么,这在Windows上是不可能的。至少不是没有大的逆向工程工作,但我主要与标准类型的司机一起工作,所以我认为我不知道足以作出最终结论。

回应评论:

我不知道究竟是什么的Entercept做什么(没有找到产品说明什么建议他们打的内存或处理权限)。因此,定义最终目标而非特定技术如何实现这一点可能是更有效的方法。

对评论2的回应:

1.1。什么是LIDS?

LIDS是由谢花岗和Philippe Biondi编写的Linux内核的增强版。它实现了几个本来不在Linux内核中的安全特性。 其中一些包括:
1.强制访问控制(MAC) - 不知道什么是真正的意思。
2.端口扫描检测器 - 这是绝对可行的看看this网站。
3.桩保护 - 上面解释的文件系统过滤器驱动程序。
4.过程保护 - 您可以在您的驱动程序hook process creation,在ntdev档案中看看有很多关于此的discussions

-1

您提到修补内核时未提供明智的解释,说明您为什么要这样做,以及为什么您认为官方API无法让您获得您想要的位置。因此,我们必须假设你正在计划编写某种恶意软件 - 不要指望有人用stackoverflow来帮助你!