Antonio Flores-Montoya y Eric Schulte, de GrammaTech Inc., presentan Ddisasm, una herramienta de código abierto que realiza la desensamblación de binarios desprovistos para generar código de ensamblaje reensamblable. A diferencia de los desensambladores tradicionales, Ddisasm produce información simbólica precisa que permite actualizar referencias cruzadas sin alterar el código original, facilitando la reescritura de binarios para la mitigación de vulnerabilidades o la optimización.
El sistema se basa en una implementación en Datalog, un lenguaje declarativo, que combina múltiples análisis estáticos y heurísticas para resolver problemas complejos como la identificación de límites de instrucciones y la desambiguación de referencias literales. Los autores argumentan que la naturaleza inferencial de Datalog permite una combinación eficiente de estas técnicas, mejorando tanto la precisión como la velocidad. En pruebas extensas con 7.658 binarios x64, Ddisasm demostró ser más rápido y preciso que Ramblr, la herramienta de estado del arte en reensamblado de binarios. La herramienta es útil para ingenieros de seguridad y desarrolladores que trabajan con binarios de código abierto, legacy o de drivers, donde el código fuente no está disponible.
