
Обфускатор исходного кода C/C++ для обхода антивирусов
Обфускатор исходного кода C/C++ для обхода антивирусов

Реализация довольно сложна, и эта область разработки ПО редко документируется простым языком. Поэтому существуют статьи в блоге, в которых подробно описывается каждое проектное решение и рассматриваются особенности работы с LLVM API.
docker build . -t avcleaner
docker run -v ~/dev/scrt/avcleaner:/home/toto -it avcleaner bash #adapt ~/dev/scrt/avcleaner to the path where you cloned avcleaner
sudo pacman -Syu
mkdir CMakeBuild && cd CMakeBuild
cmake ..
make -j 2
./avcleaner.bin --help
Для простых программ это так же просто, как:
avcleaner.bin test/strings_simplest.c --strings=true --
Однако следует знать, что вы используете фронтенд компилятора, который будет работать правильно только если вы укажете путь ко ВСЕМ включениям, необходимым для сборки вашего проекта. Например, test/string_simplest.c включает заголовки из WinSDK, а скрипт run_example.sh показывает, как обрабатывать такие сценарии.
CommandLine Error: Option 'non-global-value-max-name-size' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options
Если вы столкнулись с этой ошибкой, используйте CMakeLists_archlinux.txt вместо CMakeLists.txt, и она должна исчезнуть.
Спасибо @gituser5555 за исправления ошибок.