【问题标题】:dotfuscator parallel optimization?dotfuscator 并行优化?
【发布时间】:2023-03-22 21:45:01
【问题描述】:

我的公司使用 Dotfuscator 进行 .NET 应用程序混淆。它工作得很好,但是我注意到它在我们的构建过程中是一个单线程操作。 Dotfuscator.exe 总是在我们的 8 核构建机器的单核上运行,这让我有点哭泣。

有什么魔法可以让它运行得更加并行吗?魔术/MPgogogo 标志?布勒?

【问题讨论】:

    标签: .net obfuscation dotfuscator


    【解决方案1】:

    很遗憾,但它几乎都是单线程的(我是它的开发人员)。也不支持并行运行 Dotfuscator 的多个实例。主要是。

    如果您有多个需要混淆的单独程序集/可执行文件,则可以运行 Dotfuscator 的多个实例(当然使用单独的命令行或配置文件),尽管使用了一些未记录的技巧。

    如果您转到 C:\Program Files(x86)\PreEmptive Solutions,您将看到您的 Dotfuscator 目录。 (我的是Dotfuscator Professional 4.9)您可以将该目录复制到其他目录。因此,例如,如果您将该目录的 2 个副本复制到 C:\Dotfuscator1C:\Dotfuscator2,那么您可以在每个目录中并行运行这两个 dotfuscator.exe 可执行文件中的每一个,而不会互相踩踏。我不会说它“受支持”,但它应该完美地工作。

    另外,您需要将两个文件复制到您从 Program Files 复制的两个文件夹中。第一个文件位于C:\Users\YourName\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0 附近。该文件名为dfusrprf.xml。只需将其复制到与每个dotfuscator.exe 相同的文件夹中。下一个文件在C:\ProgramData\PreEmptive Solutions\Dotfuscator Professional Edition\4.0,应该叫dotfuscator.dat. This should be copied to the same location asdfusrprf.xml`

    完成所有这些后,Dotfuscator 的两个实例应该可以很好地并行运行。请注意,对多个实例执行此操作将导致您需要大量内存。在大型程序上,Dotfuscator 可能会占用大量内存(如不止一次演出)

    【讨论】:

    • 在我尝试之前,这会影响 Map xml 文件的输出吗?我现在会得到两套文件吗?
    • @Jippers 请注意,这仅在您有两个单独的项目/配置文件时才有帮助。所以,如果你说 Foo.dll 和 Bar.dll,它们一定不能相互依赖,否则它们需要作为一个项目一起运行。但是,是的,如果您将其拆分为两个项目,那么您将获得两个不同的 XML 映射文件。假设您的输入不相互依赖,这应该不会影响您解密堆栈跟踪的能力
    • 我的上帝! ...幸运的是,它可能对我有帮助!我希望它也适用于 4.10 ;-) 顺便说一下,到现在(2013 年夏末),1Gig 是否是“大量内存”? ;-)
    • @dom_beau 这取决于您要混淆的内容,但中等规模的项目可能至少需要 2G,并且可能会因 4G 而变得更快。作为参考,我们用来混淆 Dotfuscator 的构建机器本身有 4 gigs 的内存
    • @dom_beau 它可能有效,但可能会遇到问题。 Dotfuscator 假设它是唯一一个可以访问它周围的文件的人,比如 dotfuscator.dat.. 所以,当有两个实例时,有时它会导致奇怪的问题。你可以试试,但你可能会遇到问题
    【解决方案2】:

    不。一路单线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多