【问题标题】:Integrating Dotfuscator into Unity3D build pipeline将 Dotfuscator 集成到 Unity3D 构建管道中
【发布时间】:2016-12-07 12:47:45
【问题描述】:

我正在尝试将 Dotfuscator 与 Unity3D 一起使用。在 Unity 中构建我的 Android 项目时,它使用它的内部单声道编译器。我将“AfterBuild”目标添加到“.csproj”文件中,如果我在 Visual Studio 2013 中构建项目,AfterBuild 可以工作。

所以我的问题是,如何为此修改 Unity 的构建管道?

我正在使用 Unity 5.4.2 和 VS 2013。

【问题讨论】:

    标签: unity3d mono dotfuscator


    【解决方案1】:

    对于桌面应用,

    1. 使用BuildPipeline.BuildPlayer 将您的应用或游戏构建到指定路径中。然后使用 Dotfuscator 混淆 dll(它应该位于输出目录中的某个位置),通过在构建时启动 Dotfuscator 进程

      // Build player.
      BuildPipeline.BuildPlayer(levels, path + "/BuiltGame.exe", BuildTarget.StandaloneWindows, BuildOptions.None);
      
      // Obfuscate the dll in the player.
      Process proc = new Process();
      proc.StartInfo.FileName = "path_to_dotfuscator";
      proc.StartInfo.Arguments = "arguments_of_dotfuscator path_to_app_dll";
      proc.Start();
      
    2. 使用command line of the Unity3D Editor 构建您的应用或游戏。然后使用 Dotfuscator 对 dll 进行模糊处理。只需使用您希望编写和运行这些步骤的脚本语言。

    对于 iOS/Mac 应用,使用 il2cpp 应该足以混淆应用。不过,我对此并不确定。

    对于Android,我不知道有没有办法在Unity3D为你制作apk之前拦截构建管道。但我们总是可以从 apk 中提取 dll,对其进行混淆处理并将其放回原处。确实存在一些解决方案,请参阅this question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多