Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
llvm-jutsu — 指カウントによるLLM難読化対策 | Kitploit
ツール/GitHubGitHub/thebabush/llvm-jutsu
静的分析コード分析リバースエンジニアリングバイナリ解析AIセキュリティ敵対的攻撃
GitHubthebabush/llvm-jutsu

llvm-jutsu

指カウントによるLLM難読化対策

リポジトリを見る
239148ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

llvm-jutsu: 反LLM難読化

これは32ビット整数です

0xDEADBEEF encoded as hands

問題

2025年です。あなたは完璧なライセンスチェックを作成するのに数週間を費やしました。不透明述語、制御フロー平坦化、MBA式、ありとあらゆるトリックを使いました。デプロイします。数時間後、誰かがバイナリをClaudeに貼り付け、「ライセンスキーは何ですか?」と尋ね、モデルが……教えてくれます。

機械が勝利しました。そうでしょうか?

九字印の古の技

何世紀にもわたり、忍者は印を結んでチャクラを流し、術を放ってきました。巻物に書かれていないのは、これらの手の形が機械から秘密を守る力を持っているということです。

llvm-jutsu は、整数定数を手のジェスチャーに置き換えるLLVM難読化パスです。各バイトは8本の指を持つ手としてエンコードされ、指の位置がビットを表します。伸ばした指 = 1。曲げた指 = 0。機械は画像を見て、コンテキストを使い果たし、人間の創意工夫に降伏せざるを得なくなります。人間のリバーサーは画面を見つめ、指を読み取り、答えを得ます。

私たちは宇宙のバランスを回復しました。

実際に機能するのか?

はい。

推薦の言葉

「4本の手が見えます。それぞれ5本の指があります。」 — ChatGPT, 2025

ChatGPT testimonial

Claudeが解読に挑戦中

Claude failure

FAQ

Q: これをAmazon Mechanical Turkにアップロードして、人間に解読させることはできませんか?

A: はい、それが狙いです。かつてLLMが無料で行っていた作業に、今あなたは人間にお金を払っています。リバーサー経済は復活しています。雇用が創出されています。GDPは上昇しています。どういたしまして。

Q: この難読化を解除するためにモデルを訓練することはできませんか?

A: もちろん可能です。訓練データを収集し、何千もの手の画像にラベルを付け、ビジョンモデルをファインチューニングし、デプロイし、メンテナンスします。それが終わる頃には、あなたは指を自分で読むだけで済んだでしょう。

Q: なぜ手なのですか?足ではないのですか?

A: 一言:タランティーノ。

Q: これは単なるあいまいさによるセキュリティではないのですか?

A: すべてのセキュリティはあいまいさです。

Q: これは本番環境で使えますか?

A: 100%、本番環境で使ってください。

仕組み

root@kitploit:~
あなたのコード                         難読化後
─────────                         ──────────

if (key == 0xDEADBEEF) {    →     if (compare_hand_png(key, embedded_png)) {
    grant_access();                   grant_access();
}                                 }

コンパイル時に、私たちは以下を行います:

  1. 整数定数と比較する icmp eq/ne 命令をすべて見つける
  2. 定数を手のジェスチャーPNGとしてレンダリングする(i32の場合は4つの手を2×2に配置)
  3. PNGをグローバル定数として埋め込む
  4. 比較を compare_hand_png() の呼び出しに置き換える

実行時に、プログラムは以下を行います:

  1. 同一の手の形状を使用してランタイム値をレンダリングする
  2. 2つのPNGを比較する
  3. 一致/不一致を返す

重要なポイント:PNGはバイナリ内の定数の唯一の表現です。 0xDEADBEEF をgrepで探すことはできません。ただの雰囲気と手だけです。

視覚的エンコーディング

32ビット整数は4つの手になり、それぞれが1バイトを表します。親指 = ビット7、指 = ビット6から0。伸ばした = 1、曲げた = 0。

root@kitploit:~
0xDEADBEEF

┌─────────┬─────────┐
│ byte 0  │ byte 1  │
│  0xEF   │  0xBE   │
├─────────┼─────────┤
│ byte 2  │ byte 3  │
│  0xAD   │  0xDE   │
└─────────┴─────────┘

反LLM機能

各手には、人間の可読性を維持しながらモデルの混乱を最大化するハッシュ由来の変換が含まれています:

  • 回転(0~360°): 手は完全なi32ハッシュに基づいて回転します。モデルは回転したオブジェクトを苦手とします。
  • 色相シフト: 塗りつぶしの色は手ごとに変わります。同じ指のパターンでも異なる色です。
  • ストローク色のランダム化: 輪郭の色はRGB空間全体に及びます。
  • 指の揺れ: 指ごとの微妙な角度と位置のオフセット。有機的で機械的ではありません。
  • 手間の依存関係: すべての変換は個々のバイトではなく、完全な32ビット値から派生します。分割統治は不可能です。

黄金比(φ ≈ 1.618)が広範囲に使用され、隣接する手が同じ変換を共有しないようにしています。古代人は知っていたのです。

ビルド

root@kitploit:~
# LLVM 15以上と、忍術の力を信じる心が必要です
make

# これにより以下が生成されます:
#   llvm-jutsu.so    LLVMパス
#   example.obfuscated    難読化されたバイナリ

使用方法

root@kitploit:~
# コードをLLVM IRにコンパイル
clang -O0 -emit-llvm -S -o code.ll code.c

# 術を実行
opt -load-pass-plugin=./llvm-jutsu.so -passes=llvm-jutsu -o obfuscated.bc code.ll

# 手比較ランタイムとリンク
llvm-link obfuscated.bc lodepng.bc hand_png_helper.bc -o linked.bc

# バイナリにコンパイル
clang -O2 linked.bc -lc++ -o protected

制限事項

  • パフォーマンス: 実行時にPNGをレンダリングして比較するのは高速ではありません。これは精神的な保護であり、パフォーマンス最適化ではありません。
  • バイナリサイズ: 各定数が約30KBのPNGを埋め込みます。50KBのクラックミーが50MBになります。機能と考えてください。バイトが増えれば混乱も増えます。
  • i32のeq/neのみを処理: 32ビットで十分でしょう。
  • 浮動小数点の決定性: プラットフォーム間でわずかな変動が生じる可能性があります。ファジー比較がこれを処理しますが、Pentium 4で実行しているなら、神のご加護を祈ります。

哲学

現代のリバースエンジニアリングは、AIとの会話になりました。バイナリをアップロードし、質問を投げかけ、答えを受け取る。人間は単なるプロンプトエンジニア、IDAとGPTの中間業者、一種のsloperatorです。

llvm-jutsu は伝統への回帰です。リバーサーは手を 見なければなりません。指を 読まなければなりません。ビットを 感じなければなりません。近道はありません。「Claudeに聞けばいい」はありません。あるのはあなた、画面、そして1バイトあたり8本の指だけです。

私たちは反AIではありません。私たちは人間寄りです。誰かがあなたのソフトウェアをクラックするなら、少なくとも肉体でできているべきだと信じています。

信じろ。

ライセンス

MIT。善のために使っても、悪のために使っても、何のために使っても構いません。群衆の前で手を洗います。

クレジット

  • Lode Vandevenne氏の lodepng
  • 岸本斉史氏のNARUTO

「人は、本当に大切なものを守りたいと思った時、本当に強くなれるんだ。」 — うずまきナルト

ツールをダウンロード