我在客户端程序中内置了一些安全性,可以从Web下载DLL,并在该DLL中调用一个函数.DLL具有强名称,DLL中的函数Assembly.GetCallingAssembly()用于确定调用程序集,以便我可以准确地获取调用它的程序的路径.从那里我们对程序集进行哈希检查并验证它是否正确.
我们有些人已经以完全信任模式连接自己,并且能够欺骗GetCallingAssembly调用指向真正的可执行文件,同时他们运行它的修改版本.还有其他的东西GetCallingAssembly,我可以用来获得真正的来电者吗?一些callstack或可能提供真正可执行文件的东西GetCallingAssembly似乎很容易被欺骗.