Skip to content
Projects

scrt/avcleaner has 1,070 GitHub stars and 186 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 10:44 UTC. Last push 2022-03-10.

How these counts are measured

C/C++ source obfuscator for antivirus bypass

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

avcleaner

C/C++ source obfuscator for antivirus bypass

usage example

Blog posts

The implementation is rather complex and this domain in software development is rarely documented in layman's terms. This is why there are blog posts which detail every design choice and go over the quirks of working with the LLVM API.

Build

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

Usage

For simple programs, this is as easy as:

avcleaner.bin test/strings_simplest.c --strings=true --

However, you should know that you're using a compiler frontend, which can only work well if you give it the path to ALL the includes required to build your project. As an example, test/string_simplest.c includes headers from the WinSDK, and the script run_example.sh shows how to handle such scenarios.

Common errors

CommandLine Error: Option 'non-global-value-max-name-size' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options

In case you encounter this error, please use CMakeLists_archlinux.txt instead of CMakeLists.txt and it should go away.

Contributors

Thanks @gituser5555 for the bug fixes.

Explore related projects