【问题标题】:Dotfuscator obfuscates stand alone assembly but not the APK archiveDotfuscator 会混淆独立程序集,但不会混淆 APK 存档
【发布时间】:2019-09-11 22:02:14
【问题描述】:

我开始在我的 Xamarin.Forms 构建过程中使用带有 Visual Studio 2019 集成的 Dotfuscator Community(全新下载)。

我执行了下列步骤: preemptive

当我构建时,我会从 Dotfuscator 获得正确的构建消息。

我的问题是,

  1. 虽然 Dotfuscator 混淆了共享项目的生成程序集,我可以通过在 Release 文件夹中使用 ILSpy 打开 .dll 文件来验证这一点,但生成的 APK 中的“相同”dll 没有被混淆,我可以通过解压缩来验证APK 并使用 ILSpy 打开共享项目 .dll 程序集。
  2. 我的另一个问题是,preemptive.com 上的 - 否则非常好和详细 - Xamarin.Forms 混淆过程描述没有详细说明 APK 归档过程,特别是关于 where(*) 带有混淆程序集的 APK将放置以及如何确保 Visual Studio 中的“存档”命令实际使用正确的 APK 文件。
  3. 我没有看到指南中提到的任何智能混淆器报告(Renaming.xml 仍在文件夹中)

(*) APK 文件夹: 有两个文件夹 Visual Studio 放置来自相同构建配置的 APK:

  1. 这似乎是直接从“档案”菜单打开的主要位置。 C:\Users\Me\AppData\Local\Xamarin\Mono for Android\Archives\2019-08-27\Ch9.Android 8-27-19 6.00 PM.apkarchive
  2. 这是指定用于混淆的构建配置的文件夹: c:\PROG\Ch9\Ch9\Ch9.Android\bin\DotfuscatedGPlayRelease\
  3. Edit1:我刚刚确认上述位置的两个 APK 在内容上是相同的(Totalcommander comapre)
  4. Edit2:我刚刚重新检查/确认两个相同 APK-s(如上所述)内的 .dll 文件(程序集)与 c:\PROG\Ch9\Ch9\Ch9.Android\bin\DotfuscatedGPlayRelease\ 文件夹内的独立混淆 .dll 文件不同

_EDIT 2019.08.28___________________

我尝试在 Visual Studio 2017(15.9.14,是的,这是一个较旧的版本)上运行 Dotfuscator 准备的构建配置,并且可以确认“存档”命令准备的 APK 包包含 dotfuscated 程序集。所以在这一点上,VS19 的归档过程似乎绕过了 dotfuscated 程序集,而 VS17 在这方面工作正常

【问题讨论】:

  • 嗨,我在 PreEmptive 工作,这是一家制造 Dotfuscator 的公司。这可能是由于最近的 Xamarin 更新 - 您能否验证您正在使用的 Visual Studio 版本(例如 16.1、16.2 等)?
  • 嗨,听起来您正在/正在遇到 16.2 的问题,是的,使用早期版本应该可以解决这个问题。当我们为 Dotfuscator 社区发布修复程序后,我将在此处发布更新。
  • 我的一位同事在您的另一篇文章中添加了答案 - 这是否回答了您关于运行时缺陷的问题?
  • 您好,我们已更新社区文档告诉您下载的 Xamarin 目标文件(和 DLL),以解决此问题。请download them again 使其与 Visual Studio 16.2 一起使用。
  • 我已将新的目标和 dll 文件复制并包含在项目中。我在 VS 2019 (16.2.4) 中构建了我的应用程序,可以确认生成的 APK 存档文件的相关内容被混淆了。非常感谢!现在我关闭问题

标签: dotfuscator


【解决方案1】:

错误行为已得到纠正,请参阅评论部分。

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 2013-06-17
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    相关资源
    最近更新 更多