【问题标题】:Dotfuscator - Windows ServiceDotfuscator - Windows 服务
【发布时间】:2018-04-04 02:46:41
【问题描述】:

如何使用dotfuscator来混淆Windows服务?

我们创建了包含多个 DLL(自定义以及第三方 dll)的 Windows 服务应用程序,我们使用 installshield 创建 exe 并分发它们。

我们想知道如何开始使用 dotfuscator 进行混淆。

据我们审查,我们似乎无法混淆整个 Windows 服务 exe,我们将能够单独混淆每个 dll。但不确定如何在创建服务 exe 时添加这些 dll。

如果有人可以指导如何混淆使用安装盾创建的 Windows 服务 exe。

当我们尝试使用 installshield 创建的所有 exe 文件时,我们收到以下错误。

无效的输入程序集 C:...。这不是托管模块。 (C:...)

但是当我尝试使用单个 DLL 时,它能够进行混淆,但输出位于不同的文件夹中。所以我们不确定如何自动化整个过程。

环境:Visual Studio Professional 2012,Dotfuscator 版本 - 5.5.45x

我们尚未在 Dotfuscator 注册,我们使用的是 Visual Studio 中的 Dotfucator。

【问题讨论】:

    标签: c# windows-services dotfuscator


    【解决方案1】:

    我在 Dotfuscator 团队工作,并将回答作为我工作的一部分。

    听起来 InstallShield 生成的 EXE 不是 .NET 程序集,而是本机可执行文件。您可以通过尝试在 .NET 反汇编器/反编译器(如 ildasm)中打开 EXE 来验证这一点,看看这是否也会给您带来错误。

    我不太熟悉 InstallShield 在创建 Windows 服务时的操作方式,但听起来您是先创建 DLL,然后 InstallShield 使用这些 DLL 创建安装程序包?在这种情况下,您应该在创建 DLL 之后、但在 InstallShield 使用这些 DLL 之前运行 Dotfuscator。那么是否可以将 InstallShield 配置为使用那些混淆的 DLL 而不是原始的?

    使用 Visual Studio 2012,您必须从 Dotfuscator 社区版 (CE) 用户界面(从 Visual Studio 的工具菜单中打开)运行 Dotfuscator 项目的构建。在用户界面中设置 Dotfuscator 项目后,Newer versions of Dotfuscator CE Visual Studio 2015 and Visual Studio 2017 可以从 command line interface 构建。对于自动化,您可以设置构建脚本来调用此接口。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 2021-11-05
      相关资源
      最近更新 更多