在C中欺骗程序

时间:2009-08-29 18:23:26

标签: c portable-applications

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

4 个答案:

答案 0 :(得分:2)

如果它使用%windir%%systemroot%环境变量来确定Windows目录,那么更改它们肯定会很容易。但如果它使用API​​调用,则必须将该调用挂钩,如ChrisW suggests。您可以查看Detours

答案 1 :(得分:2)

伪造Windows目录的位置通常不是完成的事情。我自己的反应与上面的反应类似,如果它甚至可能,它就是灾难的一个秘诀。

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

答案 2 :(得分:1)

这很难。程序可能使用多个系统API来确定Windows目录的路径。要欺骗它,你需要拦截程序对任何API的调用,并返回不同的结果。

有很多关于在Windows上截取API的文章:这是我在Google上发现的第一个:API hooking revealed

答案 3 :(得分:0)

Windows目录的位置在注册表中。 Vista可能会让你按用户改变它,但据我所知,每个进程都不可能做到。