Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

amimo/goron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

goron

Yet another llvm based obfuscator.

当前支持特性:

  • 混淆过程间相关
  • 间接跳转,并加密跳转目标(-mllvm -irobf-indbr)
  • 间接函数调用,并加密目标函数地址(-mllvm -irobf-icall)
  • 间接全局变量引用,并加密变量地址(-mllvm -irobf-indgv)
  • 字符串(c string)加密功能(-mllvm -irobf-cse)
  • 过程相关控制流平坦混淆(-mllvm -irobf-cff)

混淆效果

  • 未混淆

  • 间接跳转(-mllvm -irobf-indbr)

  • 间接函数调用(-mllvm -irobf-icall)

  • 间接全局变量引用(-mllvm -irobf-indgv)

  • 字符串(c string)加密功能(-mllvm -irobf-cse)

  • 过程相关控制流平坦混淆(-mllvm -irobf-cff)

下载

git clone https://github.com/amimo/goron.git -b llvm-7.1.0

编译

cd goron
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" ../llvm
make -j12

使用

跟ollvm类似,可通过编译选项开启相应混淆. 如启用间接跳转混淆

$ path_to_the/build/bin/clang -mllvm -irobf -mllvm --irobf-indbr test.c

对于使用autotools的工程

$ CC=path_to_the/build/bin/clang or CXX=path_to_the/build/bin/clang
$ CFLAGS+="-mllvm -irobf -mllvm --irobf-indbr" or CXXFLAGS+="-mllvm -irobf -mllvm --irobf-indbr" (or any other obfuscation-related flags)
$ ./configure
$ make

参考资源

About

Yet another llvm based obfuscator

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /