Complementos de Babel Obfuscator
Babel Obfuscator admite complementos personalizados con los que el usuario puede ampliar la funcionalidad del ofuscador más allá de la que incluye de serie. Con un complemento personalizado puede:
- Crear sus propios algoritmos de cifrado de cadenas y de valores
- Renombrar símbolos como tipos, métodos, propiedades, eventos y campos
- Combinar código personalizado con su ensamblado
- Definir reglas de ofuscación consultando los metadatos del ensamblado
- Modificar el código del ensamblado
- Y mucho más…
Los complementos personalizados se desarrollan con el framework .NET y se integran en Babel mediante la interfaz de gestión de complementos.
Ejemplos de código
En GitHub hay varios complementos de Babel disponibles, con su código fuente. Quien quiera implementar un complemento personalizado puede tomar estos complementos de ejemplo como punto de partida. Para descargar la solución que contiene todos los proyectos de complementos, se puede usar el comando de git:
git clone https://github.com/babelfornet/BabelPlugins.gitAsí se puede examinar el código y modificar los complementos para adaptarlos a cada necesidad.
Usar un complemento en la línea de comandos
Babel acepta una lista de archivos de complemento en la línea de comandos. Para indicar uno o varios archivos de complemento en la línea de comandos de babel.exe, puede usar la opción --plugin seguida de la ruta completa del archivo del complemento:
babel MyApp.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dllEs posible pasar argumentos a los complementos con la opción de línea de comandos --argument
babel MyTarget.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dll
--argument arg1=value1 --argument arg2=value2Los argumentos se definen como pares clave-valor. Se pueden usar varias opciones --argument para indicar varios argumentos.
Usar un complemento en la tarea Babel de MSBuild
Si usa la tarea Babel de MSBuild, puede indicar una lista de complementos añadiendo el atributo Plugins a la tarea Babel, como se muestra a continuación:
<ItemGroup>
<BabelPlugin Include="DesEncrypt.dll"/>
<BabelPlugin Include="LicenseInjector.dll"/>
</ItemGroup>
<Babel
Plugins="@(BabelPlugin)"
PluginsArguments="arg1=value1;arg2=value2" />La propiedad PluginsArguments de la tarea Babel permite indicar los argumentos de todos los complementos. La lista de argumentos de los complementos es una secuencia de pares clave-valor separados por punto y coma.
Usar complementos desde Babel Desktop
Para usar un complemento con un ensamblado de destino en Babel Desktop:
- Seleccione el ensamblado de destino en el diagrama del proyecto.
- En el grupo Archivos y dependencias del panel de propiedades, añada la DLL del complemento a
Plugins. El comando Complementos del motor: configurar rutas de DLL de la paleta de comandos lleva a la misma opción. - Ejecute Complementos del motor: descubrir nombres de argumentos desde la paleta de comandos para ver los argumentos que acepta el complemento y, a continuación, escriba sus valores en
PluginsArguments.
Los complementos se ejecutan dentro del motor de ofuscación con los permisos de su cuenta, así que cargue únicamente DLL de complementos de su confianza.