Repolode
onekey-sec

onekey-sec/unblob

78種類以上のアーカイブ、圧縮、ファイルシステム形式からファイルを再帰的に展開し、バイナリデータ内の未知の領域を切り出すコマンドラインツール。

スター
2,634
フォーク
159
未解決の Issue
56
最終コミット
昨日

これは何?

unblobは、ファームウェアイメージなどの未知のバイナリデータを解析し、その中に隠れたコンテナ形式を見つけます。SquashFS、JFFS2、UBI/UBIFS、ext、CPIO、ZIP、7-Zip、gzip、XZ、LZMAなど、既知のアーカイブ、圧縮、ファイルシステム形式を解析し、設定可能な深さまで内容を再帰的に展開します。

既知の形式に一致しないデータは未知の領域として切り出され、nullや0xFFによるパディングも自動で特定されます。こうした領域のエントロピー解析とカイ二乗検定により、暗号化または圧縮された領域を見つける手がかりを得られます。JSONレポートには、領域のオフセット、サイズ、エントロピー、所有者、アクセス権、タイムスタンプが記録されます。

通常ユーザーとして実行でき、デフォルトで複数のCPUコアを使用します。カスタム形式ハンドラーは、実行時にプラグインパスから読み込めます。pip、Docker、Nix、Kali Linuxのパッケージからインストールでき、いくつかの外部展開ユーティリティに依存します。

主な機能

  • 01SquashFS、JFFS2、UBIFS、ZIPなど、78種類以上のアーカイブ、圧縮、ファイルシステム形式に対応します。
  • 02設定可能な深さまで、入れ子になったコンテナを再帰的に展開します。
  • 03形式の標準に基づいて、各領域の開始オフセットと終了オフセットを検出します。
  • 04未知のデータを切り出し、nullや0xFFによるパディングを自動で特定します。
  • 05未知の領域について、シャノンエントロピーとカイ二乗値を計算します。
  • 06オフセット、サイズ、所有者、アクセス権を含むJSONレポートを出力します。
  • 07実行時のプラグインパスを通じて、カスタム形式ハンドラーを読み込めます。

ユースケース

  • リバースエンジニアリングの際にファームウェアイメージを展開し、ファイルシステムを調べる。
  • エントロピーの結果を使って、バイナリデータ内の暗号化または圧縮された領域を特定する。
  • CIや解析パイプラインで、デバイスダンプに埋め込まれたアーカイブをまとめて展開する。
  • カスタムハンドラーを使って、独自コンテナ形式への対応を追加する。

クイックスタート

  1. 1

    pipでPyPIからunblobをインストールする

    pip install unblob
  2. 2

    Ubuntu/Debianに必要な外部展開ツールをインストールする

    sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4
  3. 3

    すべての展開ツールが利用可能であることを確認する

    unblob --show-external-dependencies
  4. 4

    ファームウェアファイルを展開する

    unblob firmware.bin

使う前に知っておきたいこと

  • Dockerを使わない場合、複数の外部展開ツールを個別にインストールする必要があります。
  • SquashFSをサポートするには、sasquatchという追加ツールを別途インストールする必要があります。

収録されている特集

トピック

よくある質問

unblob とは?
78種類以上のアーカイブ、圧縮、ファイルシステム形式からファイルを再帰的に展開し、バイナリデータ内の未知の領域を切り出すコマンドラインツール。 unblobは、ファームウェアイメージなどの未知のバイナリデータを解析し、その中に隠れたコンテナ形式を見つけます。SquashFS、JFFS2、UBI/UBIFS、ext、CPIO、ZIP、7-Zip、gzip、XZ、LZMAなど、既知のアーカイブ、圧縮、ファイルシステム形式を解析し、設定可能な深さまで内容を再帰的に展開します。
unblob は無料で使えますか?ライセンスは?
unblob は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
unblob は今もメンテナンスされていますか?
活発にメンテナンス中。unblob の最終コミットは 2026年11月5日 です。
unblob は何に使えますか?
リバースエンジニアリングの際にファームウェアイメージを展開し、ファイルシステムを調べる。 エントロピーの結果を使って、バイナリデータ内の暗号化または圧縮された領域を特定する。 CIや解析パイプラインで、デバイスダンプに埋め込まれたアーカイブをまとめて展開する。 カスタムハンドラーを使って、独自コンテナ形式への対応を追加する。
unblob のインストール方法は?
pipでPyPIからunblobをインストールする: pip install unblob Ubuntu/Debianに必要な外部展開ツールをインストールする: sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 すべての展開ツールが利用可能であることを確認する: unblob --show-external-dependencies ファームウェアファイルを展開する: unblob firmware.bin
unblob はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/onekey-sec/unblob

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

巨大なZIP、7z、tar、分割アーカイブを展開しながら元ファイルの容量を空け、必要な空きディスク容量を抑えるデスクトップアプリ兼CLI。

2576+228 今週84RustApache-2.0活発にメンテナンス更新 一昨日