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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
woody-woodpacker — ELFバイナリパッカーは、64ビットLinux実行可能ファイル向けにコードセクションを暗号化し、実行時復号スタブを注入することで、コードインジェクションとバイナリ操作技術を実証するものです。 | Kitploit
ツール/GitLabGitLab/aurh1l-42-projects/woody-woodpacker
暗号化/復号化ツールリバースエンジニアリングバイナリ解析学習と教育バイナリエクスプロイト
GitLabaurh1l-42-projects/woody-woodpacker

woody-woodpacker

ELFバイナリパッカーは、64ビットLinux実行可能ファイル向けにコードセクションを暗号化し、実行時復号スタブを注入することで、コードインジェクションとバイナリ操作技術を実証するものです。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
59ヶ月前未レビュー

Woody-Woodpacker

42 Project C ELF

42の学校プロジェクトで、64ビットELF実行ファイル用のバイナリパッカーを実装します。パッカーは実行ファイルのコードセクションを暗号化し、実行時に復号ルーチンを注入します。

🎯 概要

Woody-Woodpackerは、64ビットELFバイナリを入力として受け取り、woodyという新しい暗号化バージョンを作成するプログラムです。実行されると、woodyバイナリは以下の動作を行います。

  1. 実行時に自身を復号する
  2. 証明として"....WOODY...."をstdoutに出力する
  3. 元のバイナリの動作を正常に実行する

このプロジェクトでは以下を探求します:

  • バイナリファイル形式 (ELF構造)
  • コード注入技術
  • 暗号化/復号アルゴリズム
  • C言語による低レベルプログラミング
  • リバースエンジニアリングの概念

⚙️ 動作の仕組み

パッキング処理

root@kitploit:~
元のバイナリ → [Woody-Woodpacker] → 暗号化バイナリ (woody)
  1. ELFヘッダを解析 - ELFファイル構造を読み取り解析
  2. コードセクションを特定 - 暗号化するセグメント/セクションを識別
  3. コードを暗号化 - コードに暗号化アルゴリズムを適用
  4. 復号スタブを注入 - バイナリに復号ルーチンを追加
  5. エントリポイントを変更 - 実行を復号スタブにリダイレクト
  6. 新しいバイナリを書き出し - woody実行ファイルを作成

実行処理

root@kitploit:~
./woody → コードを復号 → "....WOODY...."を出力 → 元のプログラムを実行

🔧 前提条件

  • GCC または Clang コンパイラ
  • Make
  • Linux オペレーティングシステム (ELFバイナリサポート用)
  • 以下の基本的な理解:
    • Cプログラミング
    • ELFファイル形式
    • アセンブリ言語 (x86-64)

🚀 インストール

root@kitploit:~
# Clone the repository
git clone https://gitlab.com/Aurh1l/woody-woodpacker.git
cd woody-woodpacker

# Compile the project
make

# The woody_woodpacker executable is now ready
./woody_woodpacker

💻 使用方法

基本的な使い方

root@kitploit:~
./woody_woodpacker <binary_file>

これにより、カレントディレクトリにwoodyという新しいファイルが作成されます。

例

root@kitploit:~
# Pack a binary
./woody_woodpacker /bin/ls

# Execute the packed binary
./woody
# Output: ....WOODY....
# [then normal ls output]

確認

root@kitploit:~
# Compare original and packed binary behavior
/bin/ls -la
./woody -la

# Both should produce the same output (after "....WOODY....")

どちらも("....WOODY...."の後に)同じ出力を生成するはずです。

🔍 技術詳細

ELFファイル構造

パッカーは以下のELFコンポーネントを操作します:

  • ELFヘッダ - メタデータを含むメインファイルヘッダ
  • プログラムヘッダ - ロード用のセグメント情報
  • セクションヘッダ - リンク用のセクション情報
  • コードセグメント - 実行可能コードを含む.textセクション

暗号化アルゴリズム

このプロジェクトでは通常、以下のような単純な暗号化方式を使用します:

  • RC4 - ストリーム暗号

注入手法

セグメントパディング感染 (Silvio Cesare手法):

  1. プログラムヘッダのセグメントサイズを増加
  2. パディング領域に復号スタブを注入
  3. エントリポイントをスタブにジャンプするよう変更
  4. スタブがコードを復号し、元のエントリポイントにジャンプ

メモリ配置

root@kitploit:~
┌─────────────────────────┐
│   ELF Header            │
├─────────────────────────┤
│   Program Headers       │
├─────────────────────────┤
│   Decryption Stub       │ ← Injected code
├─────────────────────────┤
│   Encrypted .text       │ ← Original code (encrypted)
├─────────────────────────┤
│   Other sections        │
├─────────────────────────┤
│   Section Headers       │
└─────────────────────────┘

📝 ライセンス

このプロジェクトは42の学校カリキュラムの一部であり、教育目的のみを意図しています。

⚠️ 免責事項

このツールは42の学校カリキュラムの一環として教育目的で作成されています。責任を持って、所有しているか変更の許可があるバイナリに対してのみ使用してください。作者は本ソフトウェアの誤用について一切の責任を負いません。

ツールをダウンロード