2012-08-08 57 views
2

我想知道调试器注入机制如何工作。为什么“图像文件执行选项”如此特别?“图像文件执行选项”是否拦截CreateProcess命令?

我有两个猜测。

  1. CreateProcess的将调用,检查针对注册表项的列表中的内部函数。如果找到了,那么它会操纵参数并调用调试器exe。

  2. 还有一些其他服务侦听CreateProcess调用并拦截它们。它杀死原来的调用或消息(如果createprocess是一个消息或类似消息的消息),那么它会像原始调用者调用它一样运行新的进程。

我的愿望是在应用程序启动之前验证和更新组件。我喜欢IFEO的“功能”,但我需要在验证步骤后运行原始程序,所以我需要一种方法来运行它,而不必递归到更新程序中。我希望通过学习更多关于注射系统的知识,我可以使这个系统工作。

回答

2

This article解释它是如何工作的。

在Windows XP和2003用户模式CreateProcess码读取注册表,如果需要,启动调试器来代替。

在较新版本的Windows的这个功能已经转移到内核模式。

但无论情况下似乎涉及了CreateProcess一般的拦截机制。

+0

感谢您的网址。 – mox 2012-08-08 17:50:27

+0

感谢您的文章。 – 2012-08-08 18:19:08