Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
goblin — Rustで書かれた、いたずら好きでクロスプラットフォームなバイナリパース用クレート | Kitploit
ツール/GitHubGitHub/m4b/goblin
リバースエンジニアリングファジングバイナリ解析
GitHubm4b/goblin

goblin

Rustで書かれた、いたずら好きでクロスプラットフォームなバイナリパース用クレート

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

人気

すべて見る →

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

すべてのツールを探索

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

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

libgoblin

Actions crates.io version

正しい言葉を言いましょう

ドキュメント

https://docs.rs/goblin/

changelog

使用法

Goblinはrustc 1.85.0(Rust 2024エディション)を必要とします。

Cargo.tomlに追加してください。

[dependencies]
goblin = "0.10"

機能

  • 素晴らしいクレート名
  • ゼロコピー、クロスプラットフォーム、エンディアン対応のELF64/32実装 – すごい!
  • ゼロコピー、クロスプラットフォーム、エンディアン対応の32/64ビットMach-oパーサー – 驚き!
  • PE 32/64ビットパーサー – ビンゴ!
  • Unix および BSD形式のアーカイブパーサー(後者は[@willglynn]のおかげ) – 万歳!
  • 多数のcfgオプション – 頭を混乱させ、ソースを読むと怒り狂うこと間違いなし!
  • ファズテスト済み – 「Goblinは1億回のファズテスト、シード1〜100で各100万回のテストに耐えたことを嬉しく報告します」 – [@sanxiyn]
  • テスト

libgoblinは、バイナリの解析、読み込み、分析のためのワンストップショップを目指しています。

ユースケース

Goblinは主に以下の重要なユースケースをサポートしています。

  1. コア、std不要の#[repr(C)]構造体、コンパイル時間が短く、32ビット/64ビット(または両方)を自由に選択可能。

  2. 型の弄り(type punning)。ある型に対して一度関数を定義すれば、32ビットでも64ビットでも動作します – ほとんど何も変更する必要はなく、マクロも不要です!基本的な例についてはexamples/automagic.rsを参照してください。

  3. stdモード。PreadやPwriteによる読み取り・書き込み実装、ファイルからの読み込み、便利なアロケーション、追加メソッドなどを追加します。これは、アロケーションが可能で、ディスクからバイナリを読み込みたいクライアント向けです。

  4. Endian_fd。本当にひどい名前ですね 😆 これは、panopticonやfalconのようなバイナリ分析ツールで必要な、異なるエンディアンのバイナリを読み取るため、またはクロスプラットフォームな異種アーキテクチャのbinutils(例:cargo-symやbingrepが簡単な例)を構築するための基盤として使用します。可能性は無限大です。

このクレートを使ってできること(または実装を手伝えばできるようになること)の例:

  1. コンパイラを作成し、それを使ってバイナリを生成する(すべての生のC構造体はPwriteを派生しています)。
  2. panopticonやfalconのようなバイナリ分析ツールを作成し、さまざまなバイナリ形式をロード、解析、分析する。
  3. 半機能的な動的リンカを作成する。
  4. カーネルを作成し、no_std cfgを使用してバイナリをロードする。つまり、基本的に構造体と定数の定義(Cヘッダーのようなもの)だけで、fdも出力もstdも不要。
  5. bin2jsonツールを作成する。なぜバイナリ形式をJSONにしないのか?

Cfgs

libgoblinは、高度に設定可能になるように設計されています。現在のフラグは次のとおりです。

  • elf64 - 64ビットELFバイナリ、repr(C)構造体定義
  • elf32 - 32ビットELFバイナリ、repr(C)構造体定義
  • mach64 - 64ビットMach-o repr(C)構造体定義
  • mach32 - 32ビットMach-o repr(C)構造体定義
  • pe32 - 32ビットPE repr(C)構造体定義
  • pe64 - 64ビットPE repr(C)構造体定義
  • te - Terse Executable (TE) repr(C)構造体定義
  • archive - Unixアーカイブパーサー
  • endian_fd - バイナリ内のエンディアンに従って解析
  • std - no_std環境を可能にする

メンテナー

  1. PE: [@kkent030315]
  2. Elf: [@m4b]、応募受付中
  3. Mach-o: [@m4b]、応募受付中

メンテナーは、各バックエンドの最初の連絡先レビュアーです。過去のコントリビューション、活動性、基礎知識、そして友好的で社交的な振る舞いに基づいて選ばれます :D

現在、私([@m4b])だけがすべてのPRに対するマージ権限を持っています。将来的には、各バックエンドのメンテナーもマージ権限を持つ可能性があります。

最後に、私はすべてのPRに一応のレビューを行うでしょうが、ほとんど/完全にそのバックエンドのメンテナーに任せることになります。

そして、ビルとテッドの知恵を常に忘れないでください:「お互いに素晴らしくあろう!」

貢献者

皆さん、ありがとうございます ❤️ !

アルファベット順:

  • [@000lbh]
  • [@2vg]
  • [@5225225]
  • [@alessandrod]
  • [@amanieu]
  • [@anfedotoff]
  • [@apalm]
  • [@baloo]
  • [@BinFlip]
  • [@burjui]
  • [@CalebFenton]
  • [@chf0x]
  • [@connorkuehl]
  • [@dancrossnyc]
  • [@DreydenGys]
  • [@dureuill]
  • [@Evian-Zhang]
  • [@ExPixel]
  • [@flanfly]
  • [@glandium]
  • [@glslang]
  • [@Gelbpunkt]
  • [@gunbux]
  • [@h33p]
  • [@hannahfluch]
  • [@Hexorg]
  • [@ibabushkin]
  • [@ideeockus]
  • [@ivlzme]
  • [@jackcmay]
  • [@jan-auer]
  • [@Javagedes]
  • [@jessehui]
  • [@Jhynjhiruu]
  • [@JohnScience]
  • [@johannst]
  • [@joschock]
  • [@jdub]
  • [@jrmuizel]
  • [@jsgf]
  • [@Jvlegod]
  • [@keith]
  • [@kjempelodott]
  • [@kkent030315]
  • [@ko1n]
  • [@le-jzr]
  • [@Lichtso]
  • [@lion128]
  • [@lissyx]
  • [@llogiq]
  • [@lumag]
  • [@lzutao]
  • [@lzybkr]
  • [@m-hilgendorf]
  • [@makubacki]
  • [@mmaekr]
  • [@m4b]
  • [@messense]
  • [@mitsuhiko]
  • [@mkroening]
  • [@mre]
  • [@Mrmaxmeier]
  • [n01e0]
  • [nathaniel-daniel]
  • [@nick96]
  • [@nico-abram]
  • [@npmccallum]
  • [@pchickey]
  • [@philipc]
  • [@PJB3005]
  • [@prettyroseslover]
  • [@Pzixel]
  • [@quake]
  • [@raindev]
  • [@RaitoBezarius]
  • [@ReturnRei]
  • [@rocallahan]
  • [@sanxiyn]
  • [@SAY-5]
  • [@skdltmxn]
  • [@sollyucko]
  • [@supervacuus]
  • [@Swatinem]
  • [@SweetVishnya]
  • [@SquareMan]
  • [@tathanhdinh]
  • [@Techno-coder]
  • [@tiann]
  • [@ticki]
  • [@Timmmm]
  • [@Tiwalun]
  • [@track-5]
  • [@tux3]
  • [@wickerwacka]
  • [@willglynn]
  • [@woodruffw]
  • [@wyxloading]
  • [@xcoldhandsx]
  • [@x0rb3l]
  • [@x64k]
ツールをダウンロード