我正在做Xamarin窗体项目(使用可移植项目),我试图使用.Net反应器混淆可移植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"问题是,当我构建机器人项目时,我得到了以下错误
加载程序集时出现异常: System.IO.FileNotFoundException:未能加载程序集“Version=255.255.255.255、Culture=neutral、PublicKeyToken=”。也许它不存在于配置文件中?文件名: Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference引用处的“Windows.dll”,Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver解析器处的/Users/builder/data/lanes/5147/c2a33d8e/source/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs:line 220中的“Windows.dll”,Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver解析器上的ICollection`1‘1程序集,AssemblyDefinition程序集,布尔topLevel) )
我相信这个问题来自于混淆,因为没有混淆,一切都很好。
是否有人与.Net反应堆合作混淆Xamarin的表单项目?
顺便说一句,我没有检查.Net反应堆的所有快速设置,问题仍然出现。
发布于 2019-03-28 06:34:30
混淆Xamarin是无用的,它更好地打开“嵌入程序集到本机代码”,这将把所有的代码转换成一个二进制的.so文件。因此,黑客或反向工程师将很难读懂这些代码,而反向engineering.you可以使用AOT,但这是实验性的,在play商店更新后可能会给某些设备带来问题。为了安全起见,我建议使用“将程序集嵌入到本机代码”。
发布于 2020-11-12 16:00:36
您需要将"2.保护设置“->”反ILDASM“”->“抑制反编译设置设置为"False”,因为在这种情况下它会混淆构建过程。如果它仍然不能工作,设置"1.通用设置“”->“项目将目标为"True”。
https://stackoverflow.com/questions/48248481
复制相似问题