Разработчики McSema выпустили исходный код этой программы, которая транслирует машинный код x86 в байткод LLVM. Подробнее о функциях этой замечательной программы можно почитать в презентации авторов Артёма Динабурга и Андрея Руэфа из компании Trail of Bits, в подборке демо, а также из видеоролика ниже.

002

С помощью статической трансляции инструкций x86 в байткод LLVM можно взять программу для x86 — и вернуть её обратно в то промежуточное состояние, которое было до компиляции итогового кода для платформы x86. Затем, из байткода LLVM можно, теоретически, скомпилировать код для другой аппаратной платформы.

003

К тому же, таким способом можно модифицировать существующий код перед повторной компиляцией, обфусцировать его или добавить другие опции.

Существует несколько подобных инструментов, но разработка Trail of Bits выгодно отличается поддержкой инструкций SSE и чисел с плавающей запятой. А теперь у неё ещё открыт исходный код.



4 комментария

  1. 12.08.2014 at 23:04

    Нипонял что ето, но круто))

  2. 13.08.2014 at 16:50

    хто в теме,объясните в двух словах.

  3. 14.08.2014 at 23:23

    короче взломанных прог попрет хоть лопатой греби, софтайс скоро потеряет отладчиков(если они еще остались), ollydbg походу тоже ИМХО

Оставить мнение