0

问题: 我想知道我是否需要请求特定权限和/或做一些额外的事情以使其“值得信赖”,以防我的程序将 dll 文件多次复制到临时目录。如果我这样做,该程序是否会被反病毒软件视为恶意软件?

示例代码:

if (needANewCopyOfTheDll)
{
    string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".dll";
    // Here, copy my dll to the new file.
}

但为什么?我有一个用 C++ 编写的静态库,它有全局变量、初始化过程和许多其他东西。我想拥有该库的不同实例,并且我只能在内存中加载相同的 dll 一次。因此,我正在考虑将库包装在实例类中,当我需要它的新实例时,只需将 dll 文件复制到临时目录并使用LoadLibrary()kernel32.dll 中的函数为其获取新句柄

4

1 回答 1

1

复制到临时目录不需要任何特殊权限。你可以这样做,它应该没有问题。很多程序都是这样做的。

从您的问题中不清楚您的软件是否被认为是恶意软件。如果是,我怀疑是因为您正在从临时目录加载 dll。

无论如何,你所做的听起来像是一个相当大的黑客攻击。您应该重写您的库以不使用全局变量。

于 2013-02-16T21:47:48.723 回答