Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何击败C#GetCallingAssembly()。位置安全_C#_Security_Assemblies - Fatal编程技术网

如何击败C#GetCallingAssembly()。位置安全

如何击败C#GetCallingAssembly()。位置安全,c#,security,assemblies,C#,Security,Assemblies,我试图根据开发人员的意愿加载和执行动态外部程序集。它对GetCallingAssembly()位置执行哈希检查并关闭 程序集经常更新,因此可以编辑IL代码以绕过此检查,但需要在加载之前以编程方式完成。这是不可靠的,而且我找不到任何工具的足够文档,可以用来轻松地修补它。如果我可以从程序集中解析几个字符串,我也可以直接调用后面的函数来绕过检查。这会更容易,但最不可靠的是,如果有任何重要的更改,我的代码将被破坏 恐怕我无法控制GetCallingAssembly()返回的内容。子进程的位置。如果有帮助

我试图根据开发人员的意愿加载和执行动态外部程序集。它对GetCallingAssembly()位置执行哈希检查并关闭

程序集经常更新,因此可以编辑IL代码以绕过此检查,但需要在加载之前以编程方式完成。这是不可靠的,而且我找不到任何工具的足够文档,可以用来轻松地修补它。如果我可以从程序集中解析几个字符串,我也可以直接调用后面的函数来绕过检查。这会更容易,但最不可靠的是,如果有任何重要的更改,我的代码将被破坏

恐怕我无法控制GetCallingAssembly()返回的内容。子进程的位置。如果有帮助的话,我对正在执行的计算机拥有完全权限

否则,我希望我可以使用某种钩子或Windows7功能将读取的C#FileStream从一个文件重定向到另一个文件,但我不知道该怎么做

请告诉我一些想法。我知道这种检查很愚蠢,只要有正确的知识,应该很容易绕过


谢谢

这个网站可能不是最好的地方,因为我们都是这里的开发人员,所以这样做违背了作者的意愿


然而,如果出于法律原因(研究、旧软件等),我不得不绕过某些东西,我需要在这样的情况下对其进行修补。由于调用位于system.net库中,因此如果不使用运行时加载程序在系统库中修补该函数,或在生成的程序集中修补该函数,则无法控制返回。有很多方法可以钩住系统库,但我不确定这里的意图是否合法,所以我不会发表评论。

为什么不让作者帮你删除该检查?;)