explaingit

azw413/glass

Analysis updated 2026-06-24

79RustAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Rust desktop reverse-engineering tool for Android and iOS apps, with GPU-accelerated disassembly of DEX bytecode and AArch64 native libraries, plus CLI and MCP server interfaces.

Mindmap

mindmap
  root((Glass))
    Inputs
      APK files
      DEX bytecode
      AArch64 binaries
    Outputs
      Annotated disassembly
      Control flow graphs
      JSON CLI output
    Use Cases
      Inspect Android apps
      Reverse iOS native libs
      Drive an MCP-aware assistant
    Tech Stack
      Rust
      Zed GPUI
      redb
      MCP
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Open an APK and step through annotated DEX or smali disassembly with clickable cross references.

USE CASE 2

Inspect AArch64 native libraries from Android or iOS apps with per-function control flow graphs.

USE CASE 3

Search a binary by symbol, byte pattern with hex wildcards, or AArch64 instruction with wildcards.

USE CASE 4

Call Glass from Claude Desktop, Cursor, or Zed through its built-in Model Context Protocol server.

What is it built with?

RustZed-GPUIredbMCP

How does it compare?

azw413/glassl0ng-ai/paprisaac-mason/compilecat
Stars798865
LanguageRustRustRust
Setup difficultymoderateeasymoderate
Complexity4/52/54/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Builds from Rust source against the Zed GPUI stack, the GPL-3.0-only license is inherited from the smali library it depends on.

GPL-3.0-only, copyleft license that requires derivatives to be released under the same terms.

In plain English

Glass is a desktop tool for taking apart compiled mobile apps and looking at the machine code inside them. The README pitches it as a free alternative to IDA Pro, a long-running commercial product that researchers use to inspect software when they do not have the original source code. Glass is focused on the Android and iOS workflow, meaning APK files, the DEX bytecode and smali listings inside them, and the AArch64 native libraries that ship in both Android and iOS apps. The project is written entirely in Rust and uses a GPU-accelerated user interface built on the same toolkit as the Zed code editor. The author claims this gives smooth rendering at 120 frames per second and that most large binaries finish their first analysis in one or two seconds rather than the minutes that older tools take. Storage is content-addressed through a Rust embedded database called redb. The feature list, as stated in the README, includes annotated disassembly with control flow lines and clickable cross references, control flow graphs of basic blocks for each function, a section-map overview of the binary, full project search across symbols and string literals, cross-reference search for callers and data usage, in-place editing of instructions and data with the ability to rebuild the app for export, per-line colour and comment annotations, and theme support. Screenshots in the README walk through the disassembly listing, the per-function control flow graph, a DEX method call graph, and the section map overview. Everything the graphical interface does is also exposed as a command-line tool. Running glass with a subcommand prints structured JSON, or human text with --text, which the README suggests pairing with jq for scripting and continuous integration. The same verbs are also exposed through a built-in Model Context Protocol server, so MCP-aware clients like Claude Desktop, Cursor, or Zed can call them as tools when helping with a reversing task. The README gives the JSON snippet needed to register Glass with Claude Desktop. Three search engines sit on top of the same data: a full text search across symbols, classes, and string literals, a byte-level binary pattern search with hex wildcards and gaps, and an instruction search where you type AArch64 assembly with wildcards and Glass compiles it to a byte mask before scanning. The license is GPL-3.0-only, inherited from the smali library it builds on.

Copy-paste prompts

Prompt 1
Build azw413/Glass from source with cargo, open an APK, and walk me through the disassembly listing for a single method.
Prompt 2
Use the Glass CLI to run a JSON cross-reference search across a library and pipe the output through jq for a CI script.
Prompt 3
Register Glass with Claude Desktop using the MCP snippet from the README and call its instruction search tool from a chat.
Prompt 4
Search a native library inside an APK with a Glass byte pattern that has hex wildcards, then refine it with an AArch64 instruction pattern.
Prompt 5
Edit an instruction in place with Glass, rebuild the APK, and explain how the content-addressed redb store tracks the change.

Frequently asked questions

What is glass?

Rust desktop reverse-engineering tool for Android and iOS apps, with GPU-accelerated disassembly of DEX bytecode and AArch64 native libraries, plus CLI and MCP server interfaces.

What language is glass written in?

Mainly Rust. The stack also includes Rust, Zed-GPUI, redb.

What license does glass use?

GPL-3.0-only, copyleft license that requires derivatives to be released under the same terms.

How hard is glass to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is glass for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.