Skip to content

An example of an external LLVM plugin module transform pass for the latest versions.

Notifications You must be signed in to change notification settings

Danukeru/llvm-obfs-str-pass-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLVM STRING OBFUSCATION LIKE IT'S 2024

Tested on llvm 18 through 20.

Some Notes

  • Tested with the repo builds from https://apt.llvm.org/
  • /usr/bin/clang++-18 -shared -O0 -o ObfString.so StrObfuscate.cpp -fPIC command in run.sh
  • /usr/bin/clang-18 -O1 -fpass-plugin=../ObfString.so main.c -o test command under demo dir's run.sh
  • Default build uses a decodeStub that's implemented inline with llvm IRBuilder calls etc.
  • Pass -D OBFS_XOR_EXTERN is you want to build the module version that uses the external decodeStub.ll
  • clang-18 -O1 -emit-llvm decodeStub.c -c -o decodeStub.bc && llvm-dis-18 decodeStub.bc command used to generate decodeStub.ll from decodeStub.c

About

An example of an external LLVM plugin module transform pass for the latest versions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published