
Glass - быстрая и бесплатная альтернатива IDA Pro
как прозрачный и гладкий
Быстрый, нативный, в первую очередь для мобильных приложений интерактивный дизассемблер. Духовный преемник IDA Pro для рабочего процесса реверс-инжиниринга Android / iOS, построенный вокруг:
smali для работы с APK / DEX / smaliarmv8-encode для AArch64 и ARMv7 (A32 / Thumb) — нативные .so, iOS Mach-Ogpui (Zed) для ускоренного GPU нативного интерфейсаredb для персистентности по содержимомуrquickjs для скриптовых плагинов (планируется)Лицензия: GPL-3.0-only (наследуется от smali).
Все мы пользовались IDA Pro — это отраслевой стандарт для реверсинга, за ним стоят годы плагинов, но он медленный, дорогой и устаревший. Glass на 100% написан на Rust с ускоренным GPU интерфейсом для плавного взаимодействия. Он также на 100% бесплатный и с открытым исходным кодом — пожалуйста, внесите свой вклад.
arm64-v8a и armeabi-v7a ищутся за один запрос). Грамматика байтовых шаблонов с маскированием и пропусками; грамматика типизированного ассемблера для AArch64 и ARMv7 с автодополнением с учётом архитектуры ISA.Обзор основных представлений — нажмите на любую миниатюру, чтобы увидеть её в полном размере.
Каждый анализ, выполняемый Glass в графическом интерфейсе, также доступен как команда CLI, выводящая структурированный JSON. Тот же самый бинарный файл glass является точкой входа для автоматизации — выберите подкоманду, и вы получите одноразовый, скриптуемый результат, идеально подходящий для конвейеров jq и CI.```sh
glass classes ./app.apk --package com.example. --text
glass callers ./libfoo.so --artifact libfoo.so --symbol "glass::main"
onCreate across DEX, machine-readable:glass search ./app.apk onCreate | jq '.data.hits[] | select(.kind=="method")'
glass types ./app.ipa --kind swift-class --text
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"] }
}
}
Затем модель может вызывать `inspect`, `symbols`, `disasm`, `cfg-of`, `dex-callers`, `search` и любую другую команду для любого бандла, на который вы её укажете. Результаты инструмента возвращаются в том же JSON-конверте, который вы получили бы из CLI.
## Поиск
Три взаимодополняющих движка, все доступные из одной палитры ⌘F в GUI и как команды CLI / MCP.
### Полнотекстовый поиск