将文件写入System32目录

时间:2016-07-14 11:57:53

标签: c# .net windows

出于好奇的目的,我试图将一个COM dll复制到System32并注册它。但是在复制时我发现了一个奇怪的行为,这是我的代码:

static void Main(string[] args)
{
    try
    {
        var sysPath = @"C:\Windows\system32\SomeDll.dll";
        File.Copy("SomeDll.dll", sysPath, true);
        var data = File.ReadAllBytes(sysPath);
    }
    catch (Exception ex)
    {
        // Error handling
    }
}

File.Copy正确运行而不会抛出错误,但如果我检查文件系统,我就无法在system32中找到SomeDll.dll。 (甚至试图通过传递完整路径在外部程序中打开它失败)。

然后,data = File.ReadAllBytes(sysPath);正确运行,数据包含文件的内容。

发生了什么? .NET上是否有阻止我的保护机制?

(应用程序以管理员权限运行)

0 个答案:

没有答案