1

我们有一个安装程序构建服务器,用于为我们的 .Net 项目混淆和构建安装文件。

当开发人员提交 dll 文件时,我们希望自动混淆。

但问题是;有时开发人员能够在提交之前进行混淆。如果文件被混淆 2 次,则会导致错误。

出于这个原因,我们需要了解传入的文件是否被混淆。

我们使用 dotNET_Reactor.Console.exe 进行混淆处理。

那么我们怎样才能检测到“.Net 程序集”已经被滥用了。

提前致谢。

编辑说明:感谢您对如此明确的问题给出的否定意见。(对于我之前的问题

如果你不明白,那么让我解释一下。

我不知道我能描述多少。

  1. 有一个名为 Net Reactor 的程序。
  2. 该程序适用于混淆 .Net 程序集文件(呃!)
  3. 一旦我们混淆了文件,如果它曾经被混淆过,那么文件就会损坏。
  4. 因此,我们需要从程序上理解这一点。
  5. dotNET_Reactor.Console.exe 是用于此的命令行接口工具。
  6. 我不敢相信,我写了这么一个明确的问题的更多解释。
  7. 我认为这种解释是对这里那些人的大脑的侮辱。
4

2 回答 2

1

来自 Eziris 的支持

你好法提赫,

如果您告诉 .NET Reactor 直接用受保护的程序集替换原始程序集(参数 -targetfile "<AssemblyFileName>"),它将创建一个特殊文件(文件扩展名为 .hash)。下次您尝试再次保护已受保护的程序集时,.NET Reactor 将自动识别该程序集已受保护并关闭进程而不引发异常。

如果您需要更多信息,请告诉我。

谢谢你。

最好的问候,-- Denis Mierzwiak 首席技术官

厄齐尔 | www.eziriz.com support@eziriz.com

总结;使用 CLI 创建一个 .hash 文件。该文件不会出现在 GUI 中。此 .hash 文件可防止文件被混淆两次。

于 2020-08-24T07:09:00.303 回答
0

还有一种以编程方式检测是否对当前程序集应用了混淆的方法:

    class ObfuscationCheck
    {
        internal static bool IsObfuscated()
        {
            return typeof(ObfuscationCheck).Name != "ObfuscationCheck ".Trim();
        }
    }
于 2020-11-12T16:13:02.480 回答