Ребята, которые выступали на ReCON 2014, опубликовали свой инструмент McSema (MC-Semantics) для восстановления x86-бинарников Windows в LLVM-код. Этот инструмент разделен на несколько подпроектов:
- Восстановление порядка выполнения
- Семантика инструкций
- Парсинг бинарных файлов
- Семантика тестирования
На данный момент, программа поддерживает трансляцию x86-семантики с целочисленной арифметикой, арифметикой с плавающей точкой и векторными операциями.
Для чего это нужно? Этот проект, в теории, позволит делать сумасшедшие порты большему количеству людей и в более короткие сроки, позволит более-менее избавляться от обфускации malware путем ее перекомпиляции с оптимизациями.
Проект финансируется DARPA.
Проект на Github
PDF с ReCON 2014
Анонс открытия кода проекта
Автор: ValdikSS