Компилятор Си в одну инструкцию: обзор инструмента M/o/Vfuscator
5К открытий5К показов
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.
5К открытий5К показов