
Laufzeit-Instrumentierungsframework zum Erstellen dynamischer Analysetools: Tracing, Profiling, Codeabdeckung, Speicher-Debugging, Fuzzing und Disassemblierung unter Windows, Linux, Android und ARM.
DynamoRIO ist ein Laufzeit-Code-Manipulationssystem, das Codetransformationen an jedem Teil eines Programms während seiner Ausführung unterstützt. DynamoRIO exportiert eine Schnittstelle zum Erstellen dynamischer Werkzeuge für eine Vielzahl von Anwendungen: Programmanalyse und -verständnis, Profiling, Instrumentierung, Optimierung, Übersetzung usw. Im Gegensatz zu vielen dynamischen Werkzeugsystemen ist DynamoRIO nicht auf das Einfügen von Callouts/Trampolinen beschränkt und ermöglicht beliebige Änderungen an Anwendungsbefehlen über eine leistungsstarke IA-32/AMD64/ARM/AArch64-Befehlsmanipulationsbibliothek. DynamoRIO bietet eine effiziente, transparente und umfassende Manipulation unveränderter Anwendungen, die auf Standardbetriebssystemen (Windows, Linux oder Android) und handelsüblicher IA-32-, AMD64-, ARM- und AArch64-Hardware laufen. Die Unterstützung für Mac OSX befindet sich in der Entwicklung.
DynamoRIO ist die Grundlage für einige bekannte externe Werkzeuge:
Werkzeuge, die mit DynamoRIO erstellt wurden und im Release-Paket verfügbar sind, umfassen:
DynamoRIOs leistungsstarke API abstrahiert die Details der zugrunde liegenden Infrastruktur und ermöglicht es dem Werkzeugentwickler, sich auf die Analyse oder Modifikation des Laufzeit-Codestroms der Anwendung zu konzentrieren. Die API-Dokumentation ist im Release-Paket enthalten und kann auch online durchsucht werden. Folien unserer bisherigen Tutorials sind ebenfalls verfügbar.
DynamoRIO ist kostenlos als Binärpaket für Windows und Linux erhältlich. DynamoRIOs Quellcode ist verfügbar, hauptsächlich unter einer BSD-Lizenz.
Nutzen Sie die Diskussionsliste, um Fragen zu stellen.
Um einen Fehler zu melden, verwenden Sie den Issue-Tracker.
Siehe auch die DynamoRIO-Homepage: http://dynamorio.org/