Android-Anwendung
In diesem Beispielprojekt verwenden wir das NuGet-Paket von Babel Obfuscator, um die Verschleierung in einer Android-Anwendung auf Basis von .NET 7 einzuschalten. Das NuGet-Paket von Babel Obfuscator lässt sich leicht in ein .NET-Projekt integrieren. Mit ihm konfigurieren Sie die Verschleierung bequem direkt in Visual Studio oder auf der Befehlszeile und wenden sie an.
Um dieses Beispielprojekt zu verwenden und den Anweisungen zu folgen, brauchen Sie eine Standortlizenz für Babel Obfuscator (Edition Ultimate, Server oder Data Center). Der Quellcode des Beispielprojekts steht außerdem im zugehörigen GitHub-Repository zum Herunterladen bereit.
git clone https://github.com/babelfornet/android-app-example.gitDas Beispielprojekt „AndroidApp“ zeigt die Verschleierung einer Android-Anwendung. Das Projekt enthält die Referenz auf das NuGet-Paket von Babel Obfuscator, das im Buildprozess die Ziel-Assembly AndroidApp.dll verschleiert.
Neben dem NuGet-Paket von Babel Obfuscator, das die Verschleierung im Projekt AndroidApp einrichtet, enthält die Projektdatei (AndroidApp.csproj) zusätzliche Konfiguration, die weitere Arten der Verschleierung einschaltet.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0-android</TargetFramework>
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationId>com.companyname.AndroidApp</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Babel.Obfuscator" Version="10.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<PropertyGroup>
<Use>tagassembly=true</Use>
<StringEncryption>true</StringEncryption>
<ControlFlowObfuscation>goto=on;if=on;switch=on;case=on;call=on;true</ControlFlowObfuscation>
<DynamicProxy>all</DynamicProxy>
<ResourceEncryption>true</ResourceEncryption>
<VerboseLevel>3</VerboseLevel>
<XmlRules>
<Rules>
<Rule name="rule1" feature="renaming" exclude="false">
<Pattern>*</Pattern>
</Rule>
</Rules>
</XmlRules>
</PropertyGroup>
</Project>Die Projektdatei enthält zum Beispiel Einstellungen für die Zeichenfolgenverschlüsselung, die Zeichenfolgenliterale im Code der Anwendung verschleiert und Angreifern so das Reverse Engineering der App erschwert. Außerdem richtet die Konfiguration eine benutzerdefinierte Regel ein, die alle öffentlichen Typen umbenennt, wodurch die Zahl der umbenannten Typen steigt.
Nach dem Start zeigt die App in der Hauptansicht alle Typen der verschleierten Assembly.

Die Android-App im Emulator
Die Ansicht zeigt, dass Babel die meisten Typen umbenannt hat. Es läuft also die verschleierte Anwendung.
Dieses Beispielprojekt zeigt, wie Sie das NuGet-Paket von Babel Obfuscator in eine Android-Anwendung integrieren und seine Verschleierungseinstellungen anpassen, um bestimmte Ergebnisse zu erreichen. An diesem Beispiel sehen Benutzer, wie Babel Obfuscator ihre Android-Anwendungen schützt: Es benennt Typen und Methoden um, entfernt Metadaten, verschlüsselt Zeichenfolgen und fügt dem Code Kontrollflussverschleierung hinzu, was die Sicherheit der Anwendung insgesamt erhöht.