動作要件¶
| 要件 | バージョン |
|---|---|
| LLVM | 17 – 22 (17, 18, 19, 21, 22 でテスト済) |
| CMake | 3.20+ |
| C++ | C++17 |
プラットフォームに関する注意¶
-
Windows — Clang-CL のみ対応。かつ
-fpass-pluginは使えません。MSVC 向けの LLVM はLLVM_ENABLE_PLUGINS=OFFで配布されているため、clang -fpass-pluginもopt --load-pass-pluginも kagura をロードできません。パスは静的ライブラリ (KaguraObfuscator.lib) としてビルドされ、それをリンクしたkagura-opt経由で実行します。手順は ソースからビルド の Windows (Clang-CL) タブを参照してください。 -
WebAssembly — Wasm のトリプルでは 5 つのパスが早期に処理を打ち切ります。Wasm は構造化制御フローを要求し、ネイティブのデバッガ面も ptrace もロード済みイメージ一覧も持たず、コードのアドレスを取る手段もないためです:
kagura-fla,kagura-anti-debug,kagura-pac,kagura-tamper,kagura-vm。-kagura-autoselectも Wasm ではflaを提案しなくなります。それ以外 — 文字列・定数・グローバル・データ系のパス — は通常どおり動作します。 -
iOS / Android — ビルドシステムへの組み込み方は 統合 を参照 (Xcode, Gradle / NDK)。