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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Glass — Glass - 高速かつ無料のIDA Pro代替品 | Kitploit
ツール/GitHubGitHub/azw413/glass
Androidセキュリティ組み込みシステムセキュリティ静的分析iOSセキュリティリバースエンジニアリングスクリプトと自動化デバッガモバイルセキュリティバイナリ解析ファームウェア解析
GitHubazw413/glass

Glass

19112171ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Glass - 高速かつ無料のIDA Pro代替品

リポジトリを見る

Glass

透明で滑らか、という意味です

高速でネイティブな、モバイルアプリ最優先のインタラクティブディスアセンブラ。Android / iOS リバースエンジニアリングのワークフローにおける IDA Pro の精神的な後継であり、以下を中心に構築されています:

  • smali — APK / DEX / smali 処理用
  • armv8-encode — AArch64 および ARMv7 (A32 / Thumb) 用 — ネイティブ .so、iOS Mach-O
  • gpui (Zed) — GPU アクセラレーションによるネイティブ UI 用
  • redb — コンテンツアドレス型永続化用
  • 内蔵 MCP サーバーにより、MCP 対応の任意のホスト (Claude Desktop、Cursor、Zed) が Glass を直接操作可能
  • rquickjs — スクリプト可能なプラグイン用 (計画中)

ライセンス: GPL-3.0-only (smali から継承)。

なぜ?

私たちは皆 IDA Pro を使ったことがあります。リバースエンジニアリングの業界標準であり、長年にわたるプラグインの蓄積がありますが、遅く、高価で、時代遅れです。Glass は 100% Rust ネイティブで、流れるような操作を実現する GPU アクセラレーション UI を備えています。また 100% 無料のオープンソースです — ぜひコントリビュートしてください。

特徴

  • バターのように滑らかな 120fps GPU アクセラレーション描画
  • 電光石火の解析速度: ほとんどの大規模バイナリで 1〜2 秒 (IDA Pro では数分かかるのに対し)
  • AArch64 および ARMv7 (ARM モード + Thumb) の逆アセンブル — iOS arm64 / arm64e と、Android で一般的な両 ABI をカバー
  • 完全にリンクされ注釈付けされた逆アセンブル一覧。制御フローライン、コメント内のデータリテラル、他の関数へのクリック可能なリンク付き。すべて見やすく色分けされています
  • 基本ブロックと他の関数へのクリック可能なリンクを表示する制御フローグラフ
  • DEX、コード、データセクションにわたるシンボルまたは文字列リテラルのプロジェクト全体検索
  • セクションデータ付きネイティブバイナリのレイアウト概要
  • 呼び出し元、データへの参照の Xref 検索
  • バンドル内のすべてのネイティブアーティファクトにわたるバイナリ・命令検索 (ライブラリの arm64-v8a と armeabi-v7a の両コピーが 1 回のクエリで検索されます)。マスキング + ギャップ対応のバイトパターン文法、AArch64 および ARMv7 用の型付きアセンブリ文法、ISA 対応のオートコンプリートドロップダウン付き
  • 任意の行 (コードまたはデータ) に色やコメントで注釈を付け、後で簡単に再発見できるようにします
  • 命令とデータのその場編集 (アイテムをダブルクリック)。Smali クラスエディタ + AArch64 / ARMv7 命令エディタ。リストの任意の行を右クリックすると、同じアドレスのバイトレベル 16 進ビューがエスケープハッチとして開きます
  • MCP サーバーはすべての解析操作をツールとして、MCP 対応の任意のホスト — Claude Desktop、Cursor、Zed に公開します
  • Glass 用のテーマに加え、ワークスペースごとに選択可能な背景色

スクリーンショット

メインビューのウォークスルー — サムネイルをクリックするとフルサイズで表示されます。

矢印ガター、解決済み文字列リテラル、クリック可能なシンボル参照を備えた AArch64 逆アセンブル一覧
逆アセンブル一覧
色分けされたオペランド、制御フロー矢印、インラインの解決済み文字列リテラル
基本ブロックと条件付き・無条件エッジを表示するネイティブ関数の制御フローグラフ
制御フローグラフ
点線の条件付きエッジとルーティングされたマルチランクレーンを備えた関数ごとの CFG
smali メソッドをルートとする DEX メソッド呼び出しグラフ。ホバーで展開可能な呼び出し先ノード
DEX 呼び出しグラフ
ホバーで呼び出し先を展開、クリックでメソッドの smali にジャンプ
色付き比例バーとセクション別詳細を備えたネイティブバイナリのセクションマップ概要
セクションマップ概要
セクションサイズに応じた比例バー。クリックで一覧 / 16 進ビューにジャンプ

スクリプティング

Glass が GUI で行うすべての解析は、構造化 JSON を出力する CLI 動詞としても公開されています。同じ glass バイナリが自動化のエントリポイントです — サブコマンドを選択するだけで、ワンショットでスクリプト可能な結果が得られ、jq パイプラインや CI に最適です。```sh

What classes ship in this APK?

glass classes ./app.apk --package com.example. --text

Who calls glass::main, by address?

glass callers ./libfoo.so --artifact libfoo.so --symbol "glass::main"

Every onCreate across DEX, machine-readable:

glass search ./app.apk onCreate | jq '.data.hits[] | select(.kind=="method")'

All ObjC + Swift types in an iOS bundle (filter by kind if you like):

glass types ./app.ipa --kind swift-class --text

Drill into one type — methods, ivars, properties for ObjC;

fields + vtable for Swift:

glass type ./app.ipa --artifact app --name blackjack.ContentView

人間が読める形式にするには `--text` を渡し、JSON の場合は省略します。

完全なリファレンス: **[docs/cli-api.md](https://github.com/azw413/glass/blob/main/docs/cli-api.md)**。

つまり、一般的な操作をスクリプト化して自動化できます。 


## スキルと MCP

CLI のすべての動詞は、組み込みの MCP(Model Context Protocol)サーバーを通じてツールとしても公開されているため、MCP 対応のホスト — Claude Desktop、Cursor、Zed、独自のクライアント — は Glass を直接操作して、リバースエンジニアリングのタスクを支援できます。```sh
# Print the machine-readable skill catalog (one JSON object listing
# every verb with its schema and an example invocation).
glass skills

# Run as an MCP stdio server. Plug into any MCP host's tool list.
glass mcp

Claude Desktop に登録するには、Glass を ~/Library/Application Support/Claude/claude_desktop_config.json に追加します:```json { "mcpServers": { "glass": { "command": "/usr/local/bin/glass", "args": ["mcp"] } } }

The model can then call `inspect`, `symbols`, `disasm`, `cfg-of`, `dex-callers`, `search` and every other verb on any bundle you point it at. Tool results come back as the same JSON envelope you'd get from the CLI.

モデルは、指定した任意のバンドルに対して `inspect`、`symbols`、`disasm`、`cfg-of`、`dex-callers`、`search` など、すべての動詞を呼び出すことができます。ツールの結果は、CLI から得られるものと同じ JSON エンベロープで返されます。


## 検索

3つの補完的なエンジンはすべて、GUI の同じ ⌘F パレットから、また CLI / MCP 動詞として利用できます。

### 全文検索

バンドル全体にわたるファジーマッチで、ネイティブシンボル、DEX クラス / メソッド / フィールド、コードおよびデータセクション内の文字列リテラルを対象とします。入力に応じてライブフィルタリングされ、結果は適切なビューに振り分けられます(ネイティブアドレスにはリスト表示、DEX ターゲットには smali ビューア、データヒットには16進ビュー)。インデックスはロード後にバックグラウンドスレッドで構築され — 処理中は進行状況チップが表示されます。```sh
glass search ./app.apk onCreate                 # all things named like "onCreate"
glass search ./libfoo.so init --limit 20

CLI リファレンス: search 動詞(docs/cli-api.md 内).

バイナリ検索

バイトレベルのパターンエンジン。各アトムは、2文字の16進マスク(c0、e?、?f、??)またはギャップ(* = 0..=32 バイト、*(min..max) は明示的な範囲)です。マッチはセクションをまたぎません。GUIパレットでは、⌘2 でバイナリモードに切り替わり、Code only チェックボックス(デフォルトでオン)がスキャンをテキストセクションに制限するため、命令の形状を探すときにデータヒットに埋もれることはありません。```sh

returning-true stub finder — mov w0, #1 ; ret

glass bin-search ./libfoo.so --artifact libfoo.so --pattern '20 00 80 52 c0 03 5f d6'

any ADRP+ADD pair with no intervening bytes

glass bin-search ./libfoo.so --artifact libfoo.so --pattern '?? ?? ?? 9? ?? ?? 4? 91'

raw data: find embedded magic

glass bin-search ./libfoo.so --artifact libfoo.so --pattern 'de ad be ef'

完全な文法と動作例: [`docs/BinSearch.md`](https://github.com/azw413/glass/blob/main/docs/BinSearch.md)。

### 命令検索

アセンブリを記述すると、Glass がバイト列にコンパイルします。`;` 区切りのシーケンスは、[armv8-encode](https://github.com/azw413/armv8-encode) によってエンコードされます — **AArch64**(`mov w0, #1`、`adrp x1, *`)および **ARMv7** の両モード(Thumb の `mov r1, r7` / `bxeq lr` / `push {r4-r7, lr}` と A32)。ワイルドカードは、バイトエンジンが処理を引き継ぐ前に、オペランドのビットマスクに変換されます。スキャンはグローバルです — バンドル内のすべてのネイティブアーティファクトが、対応する ISA のアトムを取得します(`arm64-v8a` と `armeabi-v7a` の両方のライブラリを持つ Android アプリは、単一のクエリで検索されます)。

GUI の Binary モードでは、⌘B で **Bytes** と **Asm** の文法を切り替えられます。ISA を認識するオートコンプリートドロップダウンには、入力した内容に一致するバリアントが表示されます — `r1` は AArch64 の候補を除外し、`w0` は ARMv7 の候補を除外します。

ワイルドカード:

| トークン | 意味 |
|---|---|
| `*` | 任意のオペランド(種類は選択されたオペコードから推測される) |
| `#*` | 任意の即値(オペコードピッカーへのヒント) |
| `x`, `w` | 任意の AArch64 X クラスまたは W クラスのレジスタ |
| `r` | 任意の ARMv7 GPR(`r0..r15`、`sp`、`lr`、`pc`) |
| `<*>`, `<X>`, `<W>`, `<R>`, `<imm>` | 括弧付きの等価表現。他の構文内にネストする場合に便利(`[x, #*]`、`[r, #*]`) |```sh
# AArch64 — every `mov w0, #N` (any N)
glass insn-search ./libfoo.so --artifact libfoo.so --pattern 'mov w0, #*'

# AArch64 — any ADRP into x1 followed immediately by ADD into the same reg
glass insn-search ./libfoo.so --artifact libfoo.so --pattern 'adrp x1, * ; add x1, x1, #*'

# ARMv7 (Thumb) — `mov r1, r*` followed by a return
glass insn-search ./libfoo.so --artifact libfoo.so --pattern 'mov r1, r* ; bx lr'
ツールをダウンロード