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 完全使用 Rust 原生编写,并采用 GPU 加速的 UI 实现流畅交互。它也是 100% 免费且开源的 —— 欢迎贡献。

特性

  • 丝滑的 120fps GPU 加速渲染
  • 闪电般的分析速度:对于大多数较大的二进制文件,只需 1-2 秒,而 IDA Pro 需要几分钟
  • AArch64 和 ARMv7(ARM 模式 + Thumb)反汇编 —— 覆盖 iOS arm64 / arm64e 以及两种常见的 Android ABI
  • 完全链接并带注释的反汇编,包括控制流线、注释中的数据字面量、指向其他函数的可点击链接。全部着色以便于查看
  • 控制流图,显示基本块和指向其他函数的可点击链接
  • 完整的项目搜索,可跨 DEX、代码和数据节搜索符号或字符串字面量
  • 原生二进制布局概览,包含节数据
  • Xref 搜索调用者、对数据的引用
  • 对 bundle 中 每个 原生工件进行二进制和指令搜索(因此 arm64-v8a 和 armeabi-v7a 两个版本的库会在一次查询中被搜索到)。支持带掩码和间隔的字节模式语法;支持 AArch64 和 ARMv7 的类型化汇编语法,并带有 ISA 感知的自动补全下拉菜单
  • 为任何行(代码或数据)添加颜色和/或注释,以便稍后轻松找到
  • 原地编辑指令和数据(双击项目)。Smali 类编辑器 + AArch64 / ARMv7 指令编辑器;右键点击任何列表行可打开同地址的字节级十六进制视图,作为逃生舱
  • MCP 服务器将每个分析动词作为工具暴露给任何支持 MCP 的主机 —— Claude Desktop、Cursor、Zed
  • Glass 的主题,以及每个工作区可选背景颜色

截图

主要视图一览 —— 点击缩略图查看完整尺寸。

AArch64 反汇编列表,带有箭头槽、已解析的字符串字面量和可点击的符号引用
反汇编列表
彩色操作数、控制流箭头、行内已解析的字符串字面量
原生函数的控制流图,显示基本块、条件和无条件边
控制流图
每个函数的 CFG,带有虚线条件边和路由的多层级通道
以 smali 方法为根的 DEX 方法调用图;可悬停展开的被调用节点
DEX 调用图
悬停展开被调用者,点击跳转到该方法的 smali
原生二进制的节映射概览,带有彩色比例条和每个节的详细信息
节映射概览
按节大小比例显示条,点击跳转到列表/十六进制视图

脚本化

Glass 在 GUI 中执行的每一次分析也会作为 CLI 动词暴露出来,输出结构化 JSON。同一个 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(模型上下文协议)服务器作为工具公开,因此任何支持 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"] } } }

然后模型可以对任何你指定的包(bundle)调用`inspect`、`symbols`、`disasm`、`cfg-of`、`dex-callers`、`search`以及所有其他动词。工具结果以与CLI返回的相同JSON信封(envelope)格式返回。

## 搜索

三种互补的搜索引擎,均可在GUI的同一个⌘F面板中使用,也可作为CLI/MCP动词使用。

### 全文搜索

对整个包(bundle)进行模糊匹配,涵盖原生符号、DEX类/方法/字段以及代码和数据段中的字符串字面量。输入时实时过滤;结果将被分派到正确的视图(原生地址显示为列表,DEX目标显示为smali查看器,数据命中显示为十六进制视图)。索引在加载后在后台线程中构建——处理过程中会显示进度芯片。```sh
glass search ./app.apk onCreate                 # all things named like "onCreate"
glass search ./libfoo.so init --limit 20

CLI 参考:search verb in docs/cli-api.md

二进制搜索

字节级模式引擎。每个原子是一个2字符十六进制掩码(c0,e?,?f,??)或一个间隔(* = 0..=32 字节,*(min..max) 用于显式范围)。匹配不会跨节。在 GUI 调色板中,⌘2 切换到二进制模式;仅代码 复选框(默认开启)将扫描限制在文本节,这样你在查找指令形状时不会被数据命中淹没。```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 的二进制模式下,⌘B 会在 **Bytes** 和 **Asm** 语法之间切换;一个感知 ISA 的自动补全下拉菜单会显示仍然匹配你输入内容的变体——`r1` 过滤掉 AArch64 候选,`w0` 过滤掉 ARMv7 候选。

通配符:

| 标记 | 含义 |
|---|---|
| `*` | 任意操作数(类型由所选操作码推断) |
| `#*` | 任意立即数(提示操作码选择器) |
| `x`, `w` | 任意 AArch64 X 类或 W 类寄存器 |
| `r` | 任意 ARMv7 通用寄存器(`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'

# ARMv7 (any cond) — conditional bx in literal-pool callers
glass insn-search ./libfoo.so --artifact libfoo.so --pattern 'bxeq lr'

# every `ret x30` — concrete, no wildcards
glass insn-search ./libfoo.so --artifact libfoo.so --pattern 'ret'

响应包含 bytes_hex 来显示编译后的掩码(例如 adrp x1, * 对应的 01/1f ?? ?? 90/9f),这样你可以精确地看到哪些位是固定的,哪些是通配的。捕获(<name:kind> 用于后续在模式中交叉引用同一操作数)已设计但尚未实现。

完整设计 + 阶段划分:docs/InsnPattern.md。CLI/MCP 参考:docs/cli-api.md 中的 insn-search。

当前状态

Glass 现在可用于逆向分析针对 AArch64 以及 32 位 ARMv7(armeabi-v7a 库,A32 + Thumb)的 Android(APK / DEX / 原生 .so)和 iOS(IPA / Mach-O)应用。

可用功能

下载工具