【问题标题】:CryptoObfuscator error obfuscating UWP assemblyCryptoObfuscator 错误混淆 UWP 程序集
【发布时间】:2017-10-12 12:38:00
【问题描述】:

尝试使用 CryptoObfuscator 对 UWP (WinRT) AnyCPU 程序集进行模糊处理时,会观察到以下错误消息:

1.) 将 LogicNP.CryptoLicensing.WinRT.dll(WinRT 程序集)合并到 UWP DLL 中时:

混淆时发生错误:- 许可程序集 (Silverlight) 的 .Net 框架版本类型与混淆程序集的版本类型 (Normal) 不匹配。

2.) 当许可程序集的合并被忽略时:

混淆时发生错误:System.IO.FileNotFoundException - System.IO.FileNotFoundException:无法导致:System.Runtime,Version=4.0.20.0,Culture=neutral... 使用“搜索”指定此程序集所在的路径目录的

有没有人成功使用 CryptoObfuscator(它被宣传为适用于任何 .NET 程序集)?

【问题讨论】:

  • 不确定这是否有帮助,但 UWP 不能在 AnyCPU 模式下运行。您必须明确选择 x86、x64 或 ARM。此外,UWP 使用 .NetNative。看看那个,看看你是否需要混淆。
  • 感谢@Laith,我试图混淆的类库是 UWP 类库,并且被编译为任何 CPU。 exe没有被混淆。类库也是这样吗(不能是任何 CPU?)
  • CryptoObfuscator (which is advertised as working on any .NET assembly) => 对于使用 UWP,Microsoft 建议使用 Dotfuscator。关于类库:我认为这是项目模板的问题。 @Laith 是正确的,一切都将被编译成 x86、x64 和 ARM。我不确定为什么项目模板会为通用类库创建Any CPU 配置。
  • @Herdo 如果您打开 Visual Studio 2015 或 2017 项目,请转到 File -> New -> Universal Windows Class Library,然后右键单击该项目并转到 Build,您将看到 Platform Target默认选择“任何 CPU”。
  • 遇到了同样的问题。找不到依赖程序集的解决方案是在 .NET 标准 2.0 上将以下内容添加到 csproj 文件中的属性组:true

标签: c# uwp obfuscation crypto-obfuscator


【解决方案1】:

在这种情况下使用 CryptObfuscator 时实际上需要考虑两个问题:

要混淆其他.NET版本,除了将目标框架设置为之外,还必须将以下内容添加到每个相关的csproj中:

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

这解决了大多数混淆时找不到文件的问题。

对于 System.Runtime,您需要下载并打开 System.Runtime 的 NuGet 包。在lib 文件夹中,您会发现一些不错的技巧,这些技巧取决于所使用的 CLR,并将其余的 .NET 程序集与 CLR 粘合在一起,例如使用 .NET 4.7 的转发类型。但是在ref 文件夹中,例如netstandard1.5,您会找到一个System.Runtime.dll。手动将其复制到输出文件夹或 CryptoObfuscator 将搜索的位置。

您也可以将其放在另一个文件夹中,并在 CryptoObfuscator 中使用项目属性或 XML 指定搜索目录:

<SearchDirectories>
  <SearchDirectory Path="PATH" />
</SearchDirectories>

【讨论】:

    【解决方案2】:

    尝试从 nuget "Microsoft.NETCore.UniversalWindowsPlatform" 下载并将从 nuget 下载的 "System.Runtime.dll" 复制到 CryptoObfuscator 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2014-07-23
      相关资源
      最近更新 更多