如何使用 .Net Reactor 混淆的 Xamarin Android APK dll

Aji*_*gde 5 c# obfuscation android net-reactor xamarin.android

我是 Xamarin Android 的新手。我使用 Visual Studio 2015 社区版创建了一个应用程序。我已将解决方案配置设置为发布。

为了进行混淆,我使用了 .Net Reactor。

这就是我试图混淆的方式

1: 一旦我构建了应用程序,我将转到 Bin\Release 文件夹

2:混淆App.dll

3:在Bin\Release、Obj\Release和Obj\Release\assemblies中用混淆的dll替换原来的dll

4:转到工具->Android->发布

但是,当我尝试发布混淆的 dll 时,将被原始 dll 替换。

那么我做错了什么?我是否必须手动打包apk文件。如果是这种情况,我该怎么做?

Pol*_*riz 1

1)发布未混淆的应用程序.apk,将其重命名为.zip。

\n\n

2) 将文件Mono.Android.dll从文件夹“ assemblies ”移动到文件夹YourProjectName\\bin\\Release中。

\n\n

3)创建一个新的.NET Reactor项目,设置正确的设置(取消选中Anti ILDASM,混淆过程也会重命名反射或序列化中使用的字段。为避免应用程序崩溃,应设置排除以忽略某些类型或方法.).\n将此项目文件保存到YourXamarinFolder\\YourProjectName\\bin\\Release中。

\n\n

4)创建文件obfuscate_android.bat,在此处插入代码:

\n\n
 "C:\\Program Files (x86)\\Eziriz\\.NET Reactor\\dotNET_Reactor.exe" -project "NET_Reactor_Project_Name.nrproj"\n  copy "YourProjectName_Secure\\YourProjectName.dll" "YourProjectName.dll"\n  DEL "YourProjectName_Secure\\*.dll" "YourProjectName_Secure\\*.pdb" /q\n
Run Code Online (Sandbox Code Playgroud)\n\n

将此文件移动到YourProjectName\\bin\\Release中。

\n\n

5) 卸载您的 Xamarin 项目并编辑 YourProjectName.csproj\n找到下一个块:

\n\n
<PropertyGroup Condition = " \'$ (Configuration) | $ (Platform)\' == \'Release | AnyCPU\'">\n<! -- Insert here the link to obfuscate_android.bat -->\n<PostBuildEvent>obfuscate_android.bat </ PostBuildEvent>\n\xc2\xa0</ PropertyGroup>\n
Run Code Online (Sandbox Code Playgroud)\n\n

6) 保存全部并重新加载项目

\n\n

7) 运行发布。

\n