
Виртуализатор кода bin2bin для PE-файлов x86-64
Названный в честь одной из моих любимых игр, "nocturne" — это bin2bin-виртуализатор кода и перезаписыватель бинарных файлов для x86-64 PE.
Чтобы использовать виртуализатор Nocturne, скопируйте и подключите "nocturne_sdk.hpp" из core/ в свой проект.
#include "nocturne_sdk.hpp"
VIRTUALIZE int secret(int x) {
if (x % 2 == 0) {
return x / 2;
} else {
return x * 3 + 1;
}
}
VIRTUALIZE_MARK(secret);
После этого запустите исполняемый файл cli.
cli.exe -i <input.exe> -o <output.exe>
Пример:
cli.exe -i example.exe -o example_protected.exe
По умолчанию CLI использует режим auto.
Или явно:
cli.exe -i <input.exe> -o <output.exe> --mode auto
Пример:
cli.exe -i example.exe -o example_protected.exe --mode auto
Чтобы найти маркеры:
cli.exe -i <input.exe> -o <output.exe> --mode markers
Пример:
cli.exe -i example.exe -o example_protected.exe --mode markers
Или, если вы хотите виртуализировать определённые сегменты бинарного файла без SDK:
cli.exe -i <input.exe> -o <output.exe> --mode rva <start_rva> <end_rva>
Пример:
cli.exe -i calc.exe -o calc_vmp.exe --mode rva 0x1600 0x1864
До виртуализации:

После виртуализации:

Обфусцированный цикл диспетчера:

LIEF
Zydis
argparse
Прежде всего, это в основном POC-проект. Пожалуйста, не ожидайте, что он будет слишком стабильным. Тем не менее, со временем я буду постепенно добавлять новые функции и исправления.
Если есть какие-либо функции/обработчики, которые вы хотели бы реализовать, настоятельно прошу вас открыть issue. Я приветствую любые и все вклады.
Этот проект доступен в исходном коде, но не является открытым (open source).
Исходный код доступен на условиях PolyForm Noncommercial License 1.0.0.
Вы можете использовать, изучать, изменять и распространять это программное обеспечение в некоммерческих целях при условии соблюдения условий лицензии.
Коммерческое использование, корпоративное использование, внутреннее использование в компании, использование в производственных бизнес-процессах, хостинг, платные продукты, работа с клиентами, консалтинг или развёртывание в организациях не разрешены без отдельного письменного лицензионного соглашения.
По вопросам коммерческого или корпоративного лицензирования обращайтесь: [email protected] / @nodiuus