Ejecutar el proyecto
Una ejecución ofusca todos los destinos del proyecto con el motor de Babel Obfuscator, en el orden de sus flujos, y escribe los ensamblados protegidos junto a los de entrada.
Iniciar una ejecución
Haga clic en Ejecutar proyecto, en la parte superior derecha de la barra de herramientas, pulse Ctrl+Enter (Cmd+Enter en macOS) o elija Ejecutar > Ejecutar ofuscación.
Salvo que un destino defina su propia ruta de salida, el ensamblado ofuscado se escribe en una carpeta BabelOut junto a cada ensamblado de entrada. Antes de iniciar la ejecución, Babel Desktop comprueba adónde irá la salida. No sobrescribe un ensamblado de entrada, un archivo de claves ni un complemento. Cuando existen archivos de salida de una ejecución anterior, los enumera bajo ¿Reemplazar los archivos de salida existentes? y espera a que elija Sobrescribir los archivos indicados o Cancelar.
Los destinos se ejecutan uno después de otro en el orden de sus flujos. Cuando un destino falla, los que le siguen no se ejecutan. Cancelar ejecución, en el panel Actividad, o Ejecutar > Cancelar detienen la ejecución.
El panel Actividad
El panel Actividad se abre en la parte inferior de la ventana cuando se inicia una ejecución. El botón Actividad, en la parte superior derecha de la barra de herramientas, lo muestra y lo oculta, y puede arrastrar su borde superior para cambiar su altura.
El encabezado muestra el estado de la tarea (En ejecución, Completado, Fallido o Cancelado), la fase en curso y el destino que se está procesando, el porcentaje y el tiempo. Dos pestañas contienen la salida del motor:
- Registro enumera todos los mensajes que el motor escribe con el Verbose Level del destino. Los últimos 5000 mensajes permanecen visibles; la línea situada bajo el registro indica cuántos hubo, y el texto completo del motor de cada ejecución se guarda con sus resultados.
- Problemas reúne las advertencias y los errores, cada uno con su código, por ejemplo
W00013. La cantidad que aparece junto al nombre de la pestaña indica si hay algo que leer.



Las advertencias de una ejecución en la pestaña Problemas
Durante la ejecución, cada destino muestra su estado en su nodo y en las columnas Estado y Progreso de la cuadrícula. Cuando la ejecución termina, la barra de estado muestra el estado de la tarea y, si ha habido advertencias, un contador de advertencias que abre la pestaña Problemas.



Una ejecución completada en el panel Actividad
Advertencias
Una advertencia no detiene la ejecución: el destino se marca como Completado con advertencias. Aun así, lea las advertencias, porque a menudo señalan una dependencia que el motor no ha encontrado o un ajuste que no ha tenido efecto.
- Herramientas: advertencias de la tarea, en la paleta de comandos, enumera las advertencias de la ejecución en curso.
- Herramientas: referencia de advertencias abre el catálogo de códigos de advertencia del motor, con sus descripciones y una función de búsqueda.



La referencia de advertencias del motor
Una advertencia que indica que el motor no ha podido resolver un ensamblado, como las de la pestaña Problemas que se ha mostrado antes, suele significar que un ensamblado referenciado no está junto al de entrada. Añada su carpeta en la pestaña Carpetas de búsqueda de los detalles de la cuadrícula, o añada el ensamblado como dependencia de referencia.
La salida y la aplicación ofuscada
Después de una ejecución, los botones de la parte superior derecha del panel Actividad abren la carpeta de salida e inician la aplicación ofuscada. Archivo > Mostrar salida en la carpeta, Mostrar salida en la barra de estado y Ejecutar > Ejecutar aplicación ofuscada (Ctrl+F5, Cmd+F5 en macOS) hacen lo mismo para el destino seleccionado. Babel Desktop inicia directamente un ejecutable de Windows, e inicia una aplicación .NET mediante dotnet cuando su archivo .runtimeconfig.json está disponible. No ofrece iniciar una biblioteca.
Ejecución de flujos en paralelo
Un proyecto con varios flujos independientes, como bibliotecas que no se hacen referencia entre sí, puede ofuscarlos al mismo tiempo. Active Ejecutar en paralelo los flujos independientes en Configuración > Ofuscación y elija cuántos flujos se ejecutan a la vez, de 2 a 4. La opción está desactivada de forma predeterminada.
Cada flujo se ejecuta en su propio proceso del motor y, dentro de un flujo, los destinos siguen ejecutándose en orden. Babel Desktop comprueba todo el proyecto antes de que se inicie ningún flujo, igual que en una ejecución única. Mientras los flujos se ejecutan:
- El indicador de progreso cuenta los destinos completados respecto a los previstos, y cada línea del registro empieza con el nombre de su ensamblado, por ejemplo
[Library1.dll]. - Un destino que falla detiene su propio flujo. Los demás flujos continúan, y la ejecución se da por fallida.
- Cancelar ejecución detiene todos los flujos.
- Cuando varios destinos necesitan la contraseña de un certificado, Babel Desktop las pide de una en una e indica el ensamblado que la necesita.
Cada proceso del motor tarda un par de segundos en iniciarse, por lo que la ejecución en paralelo ahorra tiempo con ensamblados grandes. Un proyecto pequeño puede terminar antes si los destinos se ejecutan uno después de otro. Con una licencia flotante, Babel Desktop ejecuta un flujo cada vez.
Después de la ejecución
Cuando termina una ejecución, puede comprobar el grado de protección de cada destino y traducir las trazas de pila que notifica la aplicación ofuscada.
- Resultados de ejecución muestra la puntuación de ofuscación de cada destino y las estadísticas de protección de la ejecución.
- El Descodificador de pila devuelve a sus nombres originales las trazas de pila ofuscadas mediante los archivos map XML de la ejecución.