0

我有一个启动器应用程序,可让用户选择exe他们想要快速打开的文件。为此,他们从文件浏览器中选择文件,并将 exe 路径存储在配置文件中。这有安全问题吗?我担心某些恶意软件可能会更改配置文件以将 exe 文件更改为恶意可执行文件,然后应用程序会启动它。这是一个可行的威胁,还是如果恶意软件可以重写文件,它不需要代理应用程序来启动另一个文件?我可以加密文件,但我不介意用户通过文本编辑器手动更改设置。

4

2 回答 2

2

您可以将启动的 exe 文件的哈希存储在配置文件中,并在执行之间哈希更改时通知用户。

计算文件的哈希:

public static string ComputeHash(string fileName)
{
    using(FileStream st = File.OpenRead(fileName))
    {
         SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider());
         byte[] hash = sha1.ComputeHash(st);
         return BitConverter.ToString(hash).Replace("-", "");
    }
}
于 2012-09-19T12:33:02.010 回答
1

您猜对了:如果恶意软件可以更改您磁盘上文件的内容,那么您已经遇到了麻烦,因为它可以将 exe 替换为另一个版本或格式化磁盘,而不是更改配置文件。

于 2012-09-19T12:35:07.250 回答