Dinamoro
Sobre Dynamoro
Dynamorio es un sistema de manipulación de código de ejecución que admite transformaciones de código en cualquier parte de un programa, mientras se ejecuta. Dynamorio exporta una interfaz para construir herramientas dinámicas para una amplia variedad de usos: análisis y comprensión del programa, perfiles, instrumentación, optimización, traducción, etc. A diferencia de muchos sistemas de herramientas dinámicas, Dynamorio no se limita a la inserción de las llamadas/trampolines y permite modificaciones arbitrarias a las instrucciones de aplicación a través de una poderosa biblioteca de instrucciones de instrucciones IA-32/AMD64/AARCH64 de IA-32/ARARH64. Dynamorio proporciona una manipulación eficiente, transparente e integral de aplicaciones no modificadas que se ejecutan en sistemas operativos de stock (Windows, Linux o Android) y productos básicos IA-32, AMD64, ARM y AARCH64 Hardware. El soporte de Mac OSX está en progreso.
Herramientas basadas en Dynamorio existentes
Dynamorio es la base de algunas herramientas externas bien conocidas:
- El emulador de instrucciones del brazo (Armie)
- Winafl, la herramienta Fuzzing Windows, como motor de instrumentación y cobertura de código
- El perfilador de grano fino para el brazo DRCCTProf
- El marco portátil y eficiente para los perfiladores de valor de grano fino VClinic
- El marco desinfectante basado en muestreo GWPSAN
Las herramientas construidas en Dynamoro y disponibles en el paquete de lanzamiento incluyen:
- La herramienta de depuración de memoria Dr. Memory
- El marco de rastreo y análisis DRMEMTRACE con múltiples herramientas que funcionan tanto en línea (con soporte de procesos múltiples) como de instrucción fuera de línea y trazas de dirección de memoria:
- El simulador de caché drcachesim
- Simulación TLB
- Reutilización de distancia
- Tiempo de reutilización
- Mezcla
- Rastreo de llamadas de función
- El emulador del procesador heredado DRCPUSIM
- La herramienta "Strace for Windows" Drstrace
- La herramienta de cobertura de código DRCOV
- La herramienta de rastreo de la biblioteca drltrace
- La herramienta de rastreo de direcciones de memoria MEMTRACE (las rastros fuera de línea de Drmemtrace son más rápidas con una infraestructura más circundante, pero este es un punto de partida más simple para el rastreo de la dirección de memoria personalizada)
- La herramienta de trazado de valor de memoria memval
- La herramienta de trazado de instrucciones Instrace (las trazas de infraestructura más rápidas de Drmemtrace son más rápidas con una infraestructura más circundante, pero este es un punto de partida más simple para el rastreo de instrucciones personalizadas)
- La herramienta de trazado de bloque básico BBBUF
- La herramienta de conteo de instrucciones Inscount
- La herramienta de prueba de fuzz dinámica Dr. Fuzz
- La herramienta de desmontaje drdisas
- Y más, incluidos los recuentos de códigos de operación, la instrumentación de la rama, etc.: Ver muestras de API
Construyendo sus propias herramientas personalizadas
La poderosa API de Dynamorio abstrae los detalles de la infraestructura subyacente y permite al constructor de herramientas concentrarse en analizar o modificar la secuencia de código de ejecución de la aplicación. La documentación de API se incluye en el paquete de lanzamiento y también se puede navegar en línea. Las diapositivas de nuestros tutoriales pasados también están disponibles.
Descargar Dynamoro
Dynamorio está disponible de forma gratuita como paquete binario para Windows y Linux. El código fuente de Dynamorio está disponible principalmente bajo una licencia BSD.
Obtener ayuda
Use la lista de discusión para hacer preguntas.
Para informar un error, use el rastreador de problemas.
Consulte también la página de inicio de Dynamorio: http://dynamorio.org/