-1

假设我从我制作的程序中启动了一个程序。是否可以欺骗已启动的程序认为 windows 目录位于不同的位置?

4

4 回答 4

2

如果它使用%windir%%systemroot%环境变量来确定 Windows 目录,那么更改这些当然很容易。但如果它使用 API 调用,您将不得不挂钩该调用,正如ChrisW 建议的那样。你可以看看Detours

于 2009-08-29T18:35:47.023 回答
2

伪造 windows 目录的位置通常是不会做的。我自己的反应与上述类似,如果可能的话,它会导致灾难。

如果您可以更详细地解释您的情况(可能在一个新问题中),可能会有更好的建议来解决您的实际潜在问题。

于 2009-08-29T19:18:59.213 回答
1

这将是困难的。程序可能会使用几个系统 API 来确定 windows 目录的路径。要欺骗它,您需要拦截程序对任何 API 的调用,并返回不同的结果。

有很多关于在 Windows 上拦截 API 的文章:这是我使用 Google 找到的第一篇文章:API hookingrevealed

于 2009-08-29T18:28:49.140 回答
0

Windows 目录的位置在注册表中。Vista 可以让您按用户更改它,但据我所知,不可能按进程进行。

于 2009-08-29T18:28:46.490 回答