Skip to Content
Nueva versión 12 disponible 🎉
ObfuscatorPaquete NuGetAplicación Android

Aplicación Android

En este proyecto de ejemplo se usa el paquete NuGet de Babel Obfuscator para activar la ofuscación en una aplicación Android basada en .NET 7. El paquete NuGet de Babel Obfuscator se integra fácilmente en un proyecto .NET. Ofrece una forma cómoda de configurar y aplicar la ofuscación directamente desde Visual Studio o desde la línea de comandos.

Para usar este proyecto de ejemplo y seguir las instrucciones, necesita una licencia de sitio de Babel Obfuscator (ediciones Ultimate, Server o Data Center). Además, el código fuente del proyecto de ejemplo puede descargarse del repositorio de GitHub asociado al proyecto.

git clone https://github.com/babelfornet/android-app-example.git

El proyecto de ejemplo «AndroidApp» está pensado para mostrar el proceso de ofuscación de una aplicación Android. El proyecto contiene la referencia al paquete NuGet de Babel Obfuscator, que ejecuta la ofuscación sobre el ensamblado de destino AndroidApp.dll durante el proceso de compilación.

Además de usar el paquete NuGet de Babel Obfuscator para configurar la ofuscación en el proyecto AndroidApp, se ha añadido al archivo de proyecto (AndroidApp.csproj) alguna configuración adicional para activar otros tipos de ofuscación.

<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>

Por ejemplo, el archivo de proyecto incluye ajustes para el cifrado de cadenas, que ofusca los literales de cadena del código de la aplicación para dificultar a los atacantes la ingeniería inversa. Además, la configuración define una regla personalizada para renombrar todos los tipos públicos, lo que aumenta el número de tipos renombrados.

Cuando se inicia, la aplicación muestra en la vista principal todos los tipos del ensamblado ofuscado.

La aplicación Android en el emulador

La vista muestra que Babel ha renombrado la mayoría de los tipos, lo que indica que se está ejecutando la aplicación ofuscada.

Este proyecto de ejemplo muestra cómo integrar el paquete NuGet de Babel Obfuscator en una aplicación Android y personalizar sus ajustes de ofuscación para obtener resultados concretos. Con este ejemplo, los usuarios pueden ver cómo Babel Obfuscator ayuda a proteger sus aplicaciones Android renombrando tipos y métodos, eliminando metadatos, cifrando cadenas y añadiendo la ofuscación del flujo de control a su código, lo que mejora la seguridad global de la aplicación.

Last updated on