C# 有没有办法在C中伪造注册表项?

C# 有没有办法在C中伪造注册表项?,c#,registry,C#,Registry,我正试图从我的C代码执行一个.exe文件。.exe文件要求注册表中存在某些项。现在我有两个选择: 1.我可以添加密钥,执行文件,然后从注册表中删除我添加的内容。 2.或者,如果可能的话,我可以在注册表中伪造注册表项,这样.exe就可以执行,而不必修改注册表 有人能告诉我2个是否可行吗?若并没有,那个么是否有其他更好的方法来处理这种情况,或者撤销我在注册表中所做的更改?还是我必须坚持1 请在这方面指导我 感谢拦截注册表读取不适用于心脏病患者,几乎肯定需要比选项1多几个数量级的工作。拦截注册表读取不

我正试图从我的C代码执行一个.exe文件。.exe文件要求注册表中存在某些项。现在我有两个选择: 1.我可以添加密钥,执行文件,然后从注册表中删除我添加的内容。 2.或者,如果可能的话,我可以在注册表中伪造注册表项,这样.exe就可以执行,而不必修改注册表

有人能告诉我2个是否可行吗?若并没有,那个么是否有其他更好的方法来处理这种情况,或者撤销我在注册表中所做的更改?还是我必须坚持1

请在这方面指导我


感谢

拦截注册表读取不适用于心脏病患者,几乎肯定需要比选项1多几个数量级的工作。

拦截注册表读取不适用于心脏病患者,几乎肯定需要比选项1多几个数量级的工作。

技术上可以使用类似的方法拦截对注册表的调用。但是,拦截代码不能用C编写,我想必须是C++或C。更不用说,以健壮的方式执行此操作将是一项艰巨的工作。

从技术上讲,可以使用类似的方法拦截对注册表的调用。但是,拦截代码不能用C编写,我想必须是C++或C。更不用说,以健壮的方式执行此操作将需要大量的工作。

,但它只会影响调用它的进程。因此,您必须使用DLL注入。我不会选择C或任何类型的托管代码来实现这一点。

,但它只会影响调用它的进程。因此,您必须使用DLL注入。我不会选择C或任何类型的托管代码来实现这一点。

如果必须拦截读取,那么开始在C/C++中开发一个驱动程序,该驱动程序调用钩住系统范围的调用,并过滤掉需要的调用。但我想你甚至会后悔开始这个项目。。。只需使用选项1即可。

如果必须拦截读取,则开始在C/C++中开发一个驱动程序,该驱动程序调用钩住系统范围的调用,并过滤掉需要的调用。但我想你甚至会后悔开始这个项目。。。只需使用选项1即可。

如何伪造windows注册表?您所描述的是强制EXE进入不同的代码路径,而不是使用Windows API调用访问注册表。这将需要反汇编代码或使用某种十六进制编辑器进行修改,其中任何一种都很可能超出本网站的范围。如果您添加了密钥,但无法恢复密钥,情况会有多严重?请记住,您的程序可能会在关键时间间隔内失败,如不可恢复的RAM错误、电源故障等。因此,您将忽略一个明显的问题:将其添加到注册表中,不要删除它,永远不必再处理它。安装程序的典型工作。如何伪造windows注册表?您所描述的是强制EXE进入不同的代码路径,而不是使用Windows API调用访问注册表。这将需要反汇编代码或使用某种十六进制编辑器进行修改,其中任何一种都很可能超出本网站的范围。如果您添加了密钥,但无法恢复密钥,情况会有多严重?请记住,您的程序可能会在关键时间间隔内失败,如不可恢复的RAM错误、电源故障等。因此,您将忽略一个明显的问题:将其添加到注册表中,不要删除它,永远不必再处理它。安装程序的典型工作。不需要走弯路,简单的DLL注入就足够了。不需要走弯路,简单的DLL注入就足够了。