explaingit

azw413/glass

79Rust

TLDR

Glass is a desktop tool for taking apart compiled mobile apps and looking at the machine code inside them.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

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.

Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.