Skip to Content
Nueva versión 12 disponible 🎉

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.
Panel Activity después de una ejecución completada de BubbleBurst.exe, en la pestaña Problems con la cantidad 4: cuatro advertencias W00013 que indican que no se han podido resolver los ensamblados PresentationFramework, System.Xaml y PresentationCore, con el 100 % y el tiempo de la ejecución a la derechaPanel Activity después de una ejecución completada de BubbleBurst.exe, en la pestaña Problems con la cantidad 4: cuatro advertencias W00013 que indican que no se han podido resolver los ensamblados PresentationFramework, System.Xaml y PresentationCore, con el 100 % y el tiempo de la ejecución a la derechaPanel Activity después de una ejecución completada de BubbleBurst.exe, en la pestaña Problems con la cantidad 4: cuatro advertencias W00013 que indican que no se han podido resolver los ensamblados PresentationFramework, System.Xaml y PresentationCore, con el 100 % y el tiempo de la ejecución a la derecha

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.

Diagrama después de una ejecución: el nodo del destino BubbleBurst.exe aparece como completed, el panel Activity muestra el distintivo Completed, las pestañas Log y Problems con 3 problemas, el 100 por ciento y el final del registro del motor, que termina con el tiempo total transcurrido y 3 advertencias, y el botón Results está habilitadoDiagrama después de una ejecución: el nodo del destino BubbleBurst.exe aparece como completed, el panel Activity muestra el distintivo Completed, las pestañas Log y Problems con 3 problemas, el 100 por ciento y el final del registro del motor, que termina con el tiempo total transcurrido y 3 advertencias, y el botón Results está habilitadoDiagrama después de una ejecución: el nodo del destino BubbleBurst.exe aparece como completed, el panel Activity muestra el distintivo Completed, las pestañas Log y Problems con 3 problemas, el 100 por ciento y el final del registro del motor, que termina con el tiempo total transcurrido y 3 advertencias, y el botón Results está habilitado

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.
Cuadro de diálogo Engine warning reference con un cuadro de búsqueda y una lista de códigos de advertencia como CF0001, CF0002, EI0001 y EM0001Cuadro de diálogo Engine warning reference con un cuadro de búsqueda y una lista de códigos de advertencia como CF0001, CF0002, EI0001 y EM0001Cuadro de diálogo Engine warning reference con un cuadro de búsqueda y una lista de códigos de advertencia como CF0001, CF0002, EI0001 y EM0001

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.
Last updated on