Ofusca tu codigo #Xamarin con #Dotfuscator

Javier Torrecilla
Jtorrecilla .NET
Published in
2 min readMar 9, 2018

Una cosa a tener en cuanta cuando estamos desarrollando cualquier aplicación es poder proteger nuestro código, para que otros no se apropien de manera indebida de él.

En el caso de este artículo vamos a centrarnos en un ejemplo concreto para Xamarin, y utilizando la herramienta DotFuscator de Preemptive.

Pasos de Instalación:

  1. Descargaremos la version Community Edition, y la registraremos
  2. Una vez instalado desde Visual Studio lanzaremos el configurador de Dotfuscator
  3. Tendremos que registrar (si no lo hemos hecho ya) la versión, para que el estado de DotFuscator sea “Confirmed” y así poder utilizarlo.

Pasos de Uso:

  1. El primer paso sera generar un fichero con la configuración de ofuscación que vamos a utilizar.
    a) En el apartado Inputs, agregaremos las DLL’s que queremos proteger.
    b) En el apartado de renaming podremos configurar reglas o exclusiones que se aplicarán a la hora de ofuscar el código.
    c) A continuación, guardaremos el fichero, en la raiz de nuestro proyecto de Xamarin.
  2. A continuación, descargaremos la configuracion de los eventos que llevaran a cabo la ofuscación, y pondremos dicho fichero en la carpeta que contiene el fichero sln de nuestro proyecto.
  3. El siguiente paso es configurar el proyecto para utilizar DotFuscator al compilar:
    a) Desde dentro de VS, haremos unload del proyecto Xamarin y edit (si queremos usar otro editor de texto, no sera necesario el unload, y cuando guardemos el fichero tendremos que recargar el proyecto).
    b) Dentro del fichero .csproj, antes de la linea de cierre (</Project>) pondremos la siguiente linea:
    <Import Project=”..\..\..\PreEmptive.Dotfuscator.Xamarin.targets” />
    c) Ahora, tendremos que configurar para que configuraciones de compilación queremos aplicar DotFuscator, con lo que buscaremos los PropertyGroup desados, y expondremos las siguientes lineas de configuración:
    <DotfuscatorXamarinCliPath>C:\PathToVS\Version\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe</DotfuscatorXamarinCliPath>
    <DotfuscatorXamarinConfigFileName>Dotfuscator.xml</DotfuscatorXamarinConfigFileName>
    <DotfuscatorXamarinGenerateNewConfigFile>false</DotfuscatorXamarinGenerateNewConfigFile>
    <DotfuscatorXamarinEnabled>true</DotfuscatorXamarinEnabled>
    Donde PathToVS sera la ruta de Visual Studio, y Version corresponderá a la versión de VS que estáis utilizando.
    Con DotfuscatorxamarinConfigFileName vamos a especificar el nombre del fichero con el que guardamos la configuración del paso anterior.
    Con DotfuscatorXamarinGenerateNewConfigFile a false indicaremos que no queremos nuevo fichero de configuración.
    Y con DotfuscatorXamarinEnabled a true, haremos que aplique la ofuscación al compilar.

Una vez seguidos estos pasos, cuando llevemos a cabo la compilación de nuestro proyecto podremos ver en el output del proceso de Build, algo como lo siguiente:

Espero que os resulte de utilidad!

Saludos

--

--

Javier Torrecilla
Jtorrecilla .NET

Geek, Map 2010, MCC 2011, MVP C# 2011/12 Msdn Forum MOD