Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Arkari — Yet another llvm based obfuscator based on goron. | Kitploit
工具/GitHubGitHub/komimoe/arkari
Defensive ToolsStatic AnalysisCode AnalysisReverse EngineeringMalware AnalysisBinary AnalysisAnti-Bot
GitHubkomimoe/arkari

Arkari

Yet another llvm based obfuscator based on goron.

查看仓库
362722922天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Arkari Just ARKARI


Arkari 动漫角色交流群二维码 加入Telegram群组
加入Discord群组
加入QQ群聊
加入QQ群聊

Read in English

Yet another LLVM-based obfuscator derived from Goron

介绍

当前支持特性:

  • 混淆过程间相关
  • 间接跳转,并加密跳转目标(-mllvm -irobf-indbr)
  • 间接函数调用,并加密目标函数地址(-mllvm -irobf-icall)
  • 间接全局变量引用,并加密变量地址(-mllvm -irobf-indgv)
  • 字符串(c string)加密功能(-mllvm -irobf-cse)
  • 过程相关控制流平坦混淆(-mllvm -irobf-fla)
  • 整数常量加密(-mllvm -irobf-cie) (Win64-MT-19.1.3-obf1.6.0 or later)
  • 浮点常量加密(-mllvm -irobf-cfe) (Win64-MT-19.1.3-obf1.6.0 or later)
  • Microsoft CXXABI RTTI Name 擦除器 (实验性功能!) [需要指定配置文件路径 以及 配置文件randomSeed字段(32字节,不足会在后面补0,超过会截断)] (-mllvm -irobf-rtti) (Win64-MT-20.1.7-obf1.7.0 or later)
  • 全部 (-mllvm -irobf-indbr -mllvm -irobf-icall -mllvm -irobf-indgv -mllvm -irobf-cse -mllvm -irobf-fla -mllvm -irobf-cie -mllvm -irobf-cfe -mllvm -irobf-rtti)
  • 或直接通过配置文件管理(-mllvm -arkari-cfg="配置文件路径|Your config path") (Win64-MT-20.1.7-obf1.7.0 or later)

对比于goron的改进:

  • 由于作者明确表示暂时(至少几万年吧)不会跟进llvm版本和不会继续更新. 所以有了这个版本(https://github.com/amimo/goron/issues/29)
  • 更新了llvm版本
  • 编译时输出文件名, 防止憋死强迫症
  • 修复了亿点点已知的bug
- 修复了混淆后SEH爆炸的问题
- 修复了dll导入的全局变量会被混淆导致丢失__impl前缀的问题
- 修复了某些情况下配合llvm2019(2022)插件会导致参数重复添加无法编译的问题
- 修复了x86间接调用炸堆栈的问题
- ...

生成VS2026开发调试环境项目(X86+AArch64 Target)

  • Windows + Visual Studio 18 2026 + vcpkg
install vcpkg and set VCPKG_ROOT PATH

vcpkg install zlib:x64-windows-static
vcpkg install libLZMA:x64-windows-static
vcpkg install libxml2:x64-windows-static

run x64 Native Tools Command Prompt for VS
run:

mkdir build_vsproj
cd build_vsproj

cmake -DCMAKE_CXX_FLAGS="-DLIBXML_STATIC /utf-8 /EHsc" ^
      -DCMAKE_C_FLAGS="-DLIBXML_STATIC /utf-8" ^
      -DCMAKE_INSTALL_PREFIX="./install" ^
      -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ^
      -DCMAKE_BUILD_TYPE=Debug ^
      -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON ^
      -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" ^
      -DLLVM_TARGETS_TO_BUILD="X86;AArch64" ^
      -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" ^
      -DCOMPILER_RT_BUILD_ORC=OFF ^
      -DLLVM_BUILD_LLVM_C_DYLIB=ON ^
      -DPython3_FIND_REGISTRY=NEVER ^
      -DLLDB_ENABLE_PYTHON=OFF ^
      -DLLVM_BUILD_TOOLS=ON ^
      -DLLVM_ENABLE_LIBXML2=FORCE_ON ^
      -DCLANG_ENABLE_LIBXML2=OFF ^
      -DLLVM_ENABLE_RPMALLOC=OFF ^
      -DLLVM_INCLUDE_TESTS=OFF ^
      -DLLVM_INCLUDE_EXAMPLES=OFF ^
      -DLLVM_INCLUDE_BENCHMARKS=OFF ^
      -DLLVM_ENABLE_ASSERTIONS=ON ^
      -DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake" ^
      -DVCPKG_TARGET_TRIPLET="x64-windows-static" ^
      -G "Visual Studio 18 2026" ^
      ../llvm

编译(Windows x64 runtime with X86+AArch64 Target)

  • Windows + Visual Studio 18 2026 + ninja + vcpkg for libxml2, libLZMA, zlib
install ninja in your PATH
install vcpkg and set VCPKG_ROOT PATH

vcpkg install zlib:x64-windows-static
vcpkg install libLZMA:x64-windows-static
vcpkg install libxml2:x64-windows-static

run x64 Native Tools Command Prompt for VS
run:

mkdir build_ninja
cd build_ninja

cmake -C ../clang/cmake/caches/Release.cmake ^
      -DCMAKE_CXX_FLAGS="-DLIBXML_STATIC /utf-8 /EHsc" ^
      -DCMAKE_C_FLAGS="-DLIBXML_STATIC /utf-8" ^
      -DCMAKE_INSTALL_PREFIX="./install" ^
      -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ^
      -DCMAKE_BUILD_TYPE=Release ^
      -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON ^
      -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" ^
      -DLLVM_TARGETS_TO_BUILD="X86;AArch64" ^
      -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" ^
      -DCOMPILER_RT_BUILD_ORC=OFF ^
      -DLLVM_BUILD_LLVM_C_DYLIB=ON ^
      -DPython3_FIND_REGISTRY=NEVER ^
      -DLLDB_ENABLE_PYTHON=OFF ^
      -DLLVM_BUILD_TOOLS=ON ^
      -DLLVM_ENABLE_LIBXML2=FORCE_ON ^
      -DCLANG_ENABLE_LIBXML2=OFF ^
      -DLLVM_ENABLE_RPMALLOC=ON ^
      -DLLVM_INCLUDE_TESTS=OFF ^
      -DLLVM_INCLUDE_EXAMPLES=OFF ^
      -DLLVM_INCLUDE_BENCHMARKS=OFF ^
      -DLLVM_ENABLE_ASSERTIONS=OFF ^
      -DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake" ^
      -DVCPKG_TARGET_TRIPLET="x64-windows-static" ^
      -G "Ninja" ^
      ../llvm

ninja
ninja install

编译(macOS AArch64 runtime with AArch64+x86 Target)

  • macOS + XCode Command Tools + brew + ninja
xcode-select --install
brew install ninja

cmake -C ../clang/cmake/caches/Release.cmake \
  -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX="./install" \
  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" \
  -DLLVM_TARGETS_TO_BUILD="AArch64;X86" \
  -DLLVM_BUILD_LLVM_C_DYLIB=ON \
  -DLLVM_BUILD_TOOLS=ON \
  -DLLVM_INCLUDE_TESTS=OFF \
  -DLLVM_INCLUDE_EXAMPLES=OFF \
  -DLLVM_INCLUDE_BENCHMARKS=OFF \
  ../llvm

ninja
ninja install

编译(Linux x86+AArch64 Target)

mkdir build
cd build
cmake -G Ninja \
    -C ../clang/cmake/caches/Release.cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX="./install" \
    -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" \
    -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
    -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" \
    -DLLVM_BUILD_LLVM_C_DYLIB=OFF \
    -DLLVM_BUILD_TOOLS=ON \
    -DLLVM_INCLUDE_TESTS=OFF \
    -DLLVM_INCLUDE_EXAMPLES=OFF \
    -DLLVM_INCLUDE_BENCHMARKS=OFF \
    ../llvm

ninja -j8
ninja install

编译时失败怎么办

ninja 和 makefile 可以添加 -k 参数,部分文件失败不影响整个clang的使用。 make install的时候使用-i参数,跳过编译时部分错误的文件。

使用

可通过编译选项开启相应混淆,如启用间接跳转混淆:

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

对于使用autotools的工程:

下载工具