Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
binja_dynamics — Una interfaz PyQt5 para el plugin binjatron de Binary Ninja que incluye funciones de resaltado destinadas a facilitar que los principiantes aprendan sobre ingeniería inversa. | Kitploit
Herramientas/GitHubGitHub/nccgroup/binja_dynamics
Análisis Dinámico (Sandboxing)Ingeniería InversaDepuradoresAnálisis de BinariosAprendizaje y Educación
GitHubnccgroup/binja_dynamics

binja_dynamics

Una interfaz PyQt5 para el plugin binjatron de Binary Ninja que incluye funciones de resaltado destinadas a facilitar que los principiantes aprendan sobre ingeniería inversa.

Ver Repositorio
2564hace 9 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Binary Ninja Dynamic Analysis Tools

Este proyecto añade una interfaz PyQt5 al plugin binjatron para Binary Ninja, que incluye funciones de resaltado orientadas a facilitar que los principiantes aprendan ingeniería inversa.

Motivación

La capacidad de aplicar ingeniería inversa a binarios x86 es una habilidad importante incluso fuera de la industria de la seguridad de la información. Sin embargo, incluso con la abundancia de materiales de formación disponibles, sigue siendo una habilidad difícil de aprender. Muchos estudiantes han expresado su frustración por la cantidad de conocimientos previos necesarios para lograr avances siquiera modestos en binarios sencillos.

Binary Ninja se comercializa a menudo entre estudiantes debido a su coste relativamente bajo, su interfaz limpia y su facilidad de uso. Los lenguajes intermedios de bajo y medio nivel también proporcionan una forma sencilla de entender qué hacen las instrucciones. Este proyecto pretende convertir Binary Ninja en una herramienta aún mejor para principiantes, facilitando la visualización de la ejecución de un binario.

Componentes

  • Depuración mediante Binjatron
  • Barra de herramientas del depurador
  • Visor de registros
  • Visor de pila
  • Visor de backtrace
  • Orígenes

    Este proyecto es producto del programa de prácticas de verano de 2017 de NCC Group. Los componentes de depuración visual pueden considerarse un sucesor espiritual de Microcorruption, un CTF de seguridad embebida creado por Matasano Security. Las actualizaciones posteriores se seguirán en https://github.com/ehennenfent/binja_dynamics. NCC Group no se hace responsable de los cambios realizados en el repositorio después del 18 de agosto de 2017.

    Instalación

    Dentro de tu carpeta de plugins de Binary Ninja, ejecuta:

    root@kitploit:~
    git clone https://github.com/ehennenfent/binja_dynamics.git
    cd binja_dynamics
    ./install.sh
    

    Uso

    Después de cargar un binario, haz clic en el elemento Enable Dynamic Analysis Tools del menú de herramientas. Se abrirá una ventana del depurador que podrás controlar mediante los botones de la barra de herramientas. A medida que avanzas por la ejecución, la interfaz se actualizará en tiempo real para reflejar el estado del programa. Gracias a Binjatron, la instrucción actual y cualquier punto de interrupción se resaltan en la vista del binario. Para cada dirección de memoria y para los registros, el valor se resalta en naranja cuando ha cambiado como resultado de la instrucción anterior. Del mismo modo, la parte superior e inferior del marco de pila actual (así como la ubicación prevista de la dirección de retorno) se resaltan para que a los principiantes les resulte más fácil identificar qué porciones de la memoria son importantes para examinar. El visor de traceback muestra un backtrace de los marcos de pila actuales y proporciona un botón que salta automáticamente la vista del binario a la ubicación dada por la dirección de memoria donde el plugin espera encontrar la dirección de retorno. En algunas funciones, el marco de pila no se desmonta de la forma que el plugin espera, por lo que esta dirección de retorno prevista puede no ser siempre correcta.

    Screenshot

    Resaltado

    (En la captura de pantalla anterior, el puntero base se muestra en verde oliva)

    • Instrucción actual - rojo
    • Punto de interrupción - azul
    • Memoria o registro modificado - texto naranja
    • Puntero de pila - verde claro
    • Puntero base - azul claro
    • Dirección de retorno prevista - rojo
    • Puntero de instrucción (cuando corresponda) - rojo brillante

    Documentación

    Código

    En ocasiones, puede ser necesario consultar el código fuente para comprender el comportamiento exacto de las interfaces. En previsión de ello, muchas de las decisiones de diseño y los detalles de implementación se explican en comentarios en línea.

    Wiki

    La wiki sigue siendo relativamente escasa, pero contenido como la lista de obstáculos y el registro de desarrollo puede ser útil para solucionar problemas.

    Ejemplos

    Considera consultar el repositorio binja_sensei para ver ejemplos que pueden ayudarte a empezar.

    Limitaciones actuales

    • Actualmente, solo se admiten binarios Linux x86(64). Incluso con esa limitación, puede haber binarios que se comporten de una manera que binja_dynamics o Voltron no puedan manejar. Te animamos a enviar un pull request o un issue con cualquier error que encuentres.
    • binja_dynamics solo se ha probado en Ubuntu 16.04. Si bien es probable que el soporte para Windows esté descartado debido a la forma en que funciona el redireccionamiento de terminal, quizás sea posible obtener una funcionalidad razonable en otras plataformas Unix. Una vez más, los pull requests y los issues son bienvenidos.
    • Dado que Binary Ninja y binjatron se basan en Python 2.7, la versión de GDB que viene con Ubuntu debe reemplazarse por una versión compatible con Python 2.7 antes de instalar binja_dynamics. Se ha comprobado que el script de instalación lo hace correctamente en una VM Ubuntu 16.04 limpia, pero las actualizaciones de GDB, las actualizaciones de Ubuntu o los componentes preinstalados (si no instalas en una VM limpia) pueden romperlo.
    • Por razones de rendimiento, el visor de memoria solo muestra el contenido de la pila y los segmentos BSS.
    • Consulta Issues para más información

    Contenido de terceros

    • binja_dynamics utiliza un fork de qthexedit, que está licenciado bajo GPLv2.
    • Las imágenes utilizadas para los iconos están licenciadas bajo Creative Commons. Consulta attribution.txt para obtener información sobre las fuentes.

    Requisitos

    • binjatron
    • binja_toolbar
    • binja_spawn_terminal
    • voltron
    • PyQt5
    • Binary Ninja

    Excluyendo Binary Ninja, install.sh se encargará de estas dependencias por ti.

    Descargar herramienta