
مُعقّد شيفرة مصدر C/C++ لتجاوز مضادات الفيروسات
مُعقّد مصدر C/C++ لتجاوز مضادات الفيروسات

التنفيذ معقد إلى حد ما وهذا المجال في تطوير البرمجيات نادرًا ما يتم توثيقه بلغة مبسطة. لهذا السبب توجد منشورات مدونة تفصل كل خيار تصميمي وتتناول غرائب العمل مع LLVM API.
docker build . -t avcleaner
docker run -v ~/dev/scrt/avcleaner:/home/toto -it avcleaner bash #اضبط ~/dev/scrt/avcleaner على المسار حيث استنسخت avcleaner
sudo pacman -Syu
mkdir CMakeBuild && cd CMakeBuild
cmake ..
make -j 2
./avcleaner.bin --help
بالنسبة للبرامج البسيطة، يكون الأمر بهذه السهولة:
avcleaner.bin test/strings_simplest.c --strings=true --
ومع ذلك، يجب أن تعلم أنك تستخدم واجهة أمامية للمُصرّف (compiler frontend)، والتي لا تعمل بشكل جيد إلا إذا أعطيتها المسار إلى جميع التضمينات (includes) اللازمة لبناء مشروعك. على سبيل المثال، 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 على إصلاح الأخطاء.