Xamarin使用混淆工具.Net Reactor构建可移植库

问题描述 投票:1回答:1

我正在研究Xamarin表单项目(带有可移植项目)我正在尝试使用.Net Reactor来混淆便携式dll我使用批处理文件来完成它,该文件被设置为便携式项目的后期构建事件并且一切正常(即生成的dll成功进行模糊处理)这里是脚本代码

    "C:\Program Files (x86)\Eziriz\.NET Reactor\dotNET_Reactor.exe" -project 
    "reactor.nrproj" -file "myProject.dll"
  copy "myProject_Secure\myProject.dll" "myProject.dll"

问题是,当我构建droid项目时,我收到以下错误

加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集'Windows,Version = 255.255.255.255,Culture = neutral,PublicKeyToken ='。也许它在Mono for Android配置文件中不存在?文件名:'Windows.dll',位于/ Users / builder / data / lanes / 5147 / c2a33d8e / source / xamarin-android / external / Java中的Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference引用,ReaderParameters参数) .Interop / src / Java.Interop.Tools.Cecil / Java.Interop.Tools.Cecil / DirectoryAssemblyResolver.cs:Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences中的第220行(DirectoryAssemblyResolver解析器,ICollection`1程序集,AssemblyDefinition程序集,布尔值topLevel)在Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver解析器)myProject.Droid

我确信这个问题来自混淆,因为一切都运行正常而没有混淆

是否有人使用.Net reactor来混淆Xamarin表单项目?

顺便说一句,我已经取消了.Net反应堆的所有快速设置,问题仍然存在

xamarin.forms net-reactor
1个回答
0
投票

混淆Xamarin Android是没用的,最好打开“嵌入程序集到本机代码”,它将所有代码转换为二进制.so文件。因此,黑客或逆向工程师很难读取该代码并进行逆向工程。您可以使用AOT,但这是实验性的,可能会在Play商店更新后为某些设备带来问题。为了安全起见,我建议使用“嵌入程序集到本机代码”

© www.soinside.com 2019 - 2024. All rights reserved.