dotfuscator - Dotfuscator 会混淆独立程序集,但不会混淆 APK 存档
问题描述
我开始在我的 Xamarin.Forms 构建过程中使用带有 Visual Studio 2019 集成的 Dotfuscator Community(全新下载)。
我做了下面列出的步骤: 抢占式
当我构建时,我会从 Dotfuscator 获得正确的构建消息。
我的问题是
- 虽然 Dotfuscator 混淆了共享项目的生成程序集,我可以通过在 Release 文件夹中使用 ILSpy 打开 .dll 文件来验证,但生成的 APK 中的“相同”dll 没有被混淆,我可以通过解压缩 APK 并打开来验证使用 ILSpy 共享项目 .dll 程序集。
- 我的另一个问题是,preemptive.com 上的 - 否则非常好和详细 - Xamarin.Forms 混淆过程描述没有详细说明 APK 存档过程,特别是关于将带有混淆程序集的 APK 放置在哪里(*)以及如何确保 Visual Studio 中的“存档”命令实际使用正确的 APK 文件。
- 我没有看到指南中提到的任何智能混淆器报告(Renaming.xml 仍在文件夹中)
(*) APK 文件夹:Visual Studio 有两个文件夹放置来自相同构建配置的 APK:
- 这似乎是直接从“档案”菜单打开的主要位置。
C:\Users\Me\AppData\Local\Xamarin\Mono for Android\Archives\2019-08-27\Ch9.Android 8-27-19 6.00 PM.apkarchive
- 这是指定用于混淆的构建配置的文件夹:
c:\PROG\Ch9\Ch9\Ch9.Android\bin\DotfuscatedGPlayRelease\
- Edit1:我刚刚确认上述位置的两个APK在内容上是相同的(Totalcommander comapre)
- Edit2:我刚刚重新检查/确认两个相同 APK-s(如上所述)内的 .dll 文件(程序集)与文件
c:\PROG\Ch9\Ch9\Ch9.Android\bin\DotfuscatedGPlayRelease\
夹内的独立混淆 .dll 文件不同
_编辑 2019.08.28___________________
我尝试在 Visual Studio 2017(15.9.14,是的,这是一个较旧的版本)上运行 Dotfuscator 准备的构建配置,并且可以确认“存档”命令准备的 APK 包包含 dotfuscated 程序集。所以在这一点上,VS19 的归档过程似乎绕过了 dotfuscated 程序集,而 VS17 在这方面工作正常
解决方案
错误行为已得到纠正,请参阅评论部分。
推荐阅读
- php - 如何检查 mysqli_fetch_array($result,MYSQLI_NUM) 是否成功获取?
- node.js - axios 为带有表单数据的发布请求返回 404
- javascript - 在不和谐服务器上每分钟获取在线用户列表
- python - 通过文件夹进行问题迭代并查找特定文件的时间戳
- javascript - 如何在我自己的 Slider 中创建指向特定幻灯片的链接?
- django - 问题单元测试使用 ThreadPoolExecutor 的 Django 代码
- nats.io - NATS.IO NATSNoRespondersException
- javascript - 如何使用 localhost 在移动设备中查看 pdf 文件
- python - os.getcwd() 返回上一级目录
- solidity - 如何获取以 Unix 时间戳表示的月份的第一天