0

我想知道从哪里开始,或者如何连接或修补 Windows 内核(XP 及以上)。我对 McAfee Entercept 之类的软件或某些修补内核的防病毒扫描程序特别感兴趣。我想知道初创公司创建向内核添加功能的软件的可行性(我知道 KPP,并且它可能被绕过),以及这样做的任何修改。我找不到简单的描述,对 Win32 的经验有限。任何帮助深表感谢,

Ĵ

进一步澄清:我并不追求这样的驱动程序,并且会感兴趣是否在技术上可以将诸如 PaX 之类的东西移植到 Windows 上。这是一个不好的例子,因为 windows 已经有一个实现,但我很感兴趣是否可以在没有访问 NT 源代码的情况下移植类似的技术。

4

4 回答 4

2

是的,很可能挂接到内核中。我强烈推荐这本书Windows InternalsRootkits

这些应该为您提供所需的所有信息。

于 2008-10-07T09:55:56.330 回答
2

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

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

于 2008-10-07T09:56:41.227 回答
2

驱动程序开发根本不是一件容易的事。杀毒软件需要处理文件系统(文件系统过滤驱动程序),使生活变得更加复杂。如果您尝试更详细地描述您想要实现的目标,这将很有用。

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

  1. ntdev用于一般驱动程序开发
  2. ntfsd用于文件系统驱动开发

书单可以在这里找到。

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

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

试着在 ntdev 上问这个问题,你会问世界上大多数内核开发者。您需要提出更具体的问题才能获得合理的答案(我会关注主题,有趣的话题)。
如果正确理解你想要做什么,这在 Windows 上是不可能的。至少不是没有主要的逆向工程工作,但我主要使用标准类型的驱动程序,所以我认为我知道的不够多,无法得出最终结论。

回复评论:

我不确定 Entercept 到底在做什么(在产品描述中没有发现任何暗示他们播放内存或处理权限的内容)。因此,定义最终目标而不是具体的技术如何实现这一目标可能是更有成效的方式。

对评论 2 的回应:

1.1。什么是盖子?

LIDS 是 Xie Huagang 和 Philippe Biondi 编写的 Linux 内核增强版。它实现了一些 Linux 内核本机没有的安全特性。其中一些包括:
1. 强制访问控制 (MAC) - 不知道真正的含义。2. 端口扫描检测器——这在这个网站
上绝对是可行的。 3. 桩保护 - 文件系统过滤器驱动程序如前所述。 4. 进程保护 - 你可以在你的驱动程序中挂钩进程创建,查看 ntdev 档案有很多关于此的讨论

于 2008-10-07T10:19:05.627 回答
-1

您谈论修补内核时没有提供合理的解释来说明您为什么要这样做以及为什么您认为官方 API 不会让您到达您想要的位置。因此,我们必须假设您正计划编写某种恶意软件——不要指望 stackoverflow 上的任何人会帮助您!

于 2008-10-11T15:19:26.287 回答