Компилятор Си в одну инструкцию: обзор инструмента M/o/Vfuscator

Posted by

M/o/Vfuscator компилирует программы в инструкции mov, и только в них. Инструмент ориентирован на язык Си и архитектуру процессора x86, но адаптивен и легко настраивается под другие языки и архитектуры.

Демонстрация

Компиляция функции, вычисляющей простые числа, с помощью M/o/Vfuscator в сравнении с GCC:

Язык Ассемблера

!

GCC

!

M/o/Vfuscator

Граф потока управления

!

GCC

!

M/o/Vfuscator

M/o/Vfuscator в действии

!

Пример поинтереснее

!

Сборка

M/o/Vfuscator использует LCC в качестве препроцессора. Предлагаемый скрипт сборки автоматически загружает LCC, настраивает его конфигурацию для MOV и собирает M/o/Vfuscator.

Если вы проводите сборку на 64-битной системе, убедитесь, что у вас есть доступ к 32-битной стандартной библиотеке (например, apt-get install libc6-dev-i386 или yum install glibc-devel.i686).

Тестирование

Проверьте, что сборка произошла корректно, с помощью следующего скрипта:

Использование

Компилируйте программы как обычно.

Всю остальную необходимую информацию можно найти в репозитории проекта на GitHub.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *