
Glass - un'alternativa veloce e gratuita a IDA Pro
nel senso di trasparente e liscio
Un disassembler interattivo veloce, nativo e mobile-app first. Successore spirituale di IDA Pro per il workflow di reverse engineering su Android / iOS, costruito attorno a:
smali per la gestione di APK / DEX / smaliarmv8-encode per AArch64 e ARMv7 (A32 / Thumb) — .so nativi, Mach-O iOSgpui (Zed) per UI nativa accelerata via GPUredb per la persistenza ad indirizzamento per contenutorquickjs per plugin scriptabili (in programma)Licenza: GPL-3.0-only (ereditata da smali).
Abbiamo tutti usato IDA Pro — è lo standard del settore per il reversing e ha anni di plugin alle spalle, ma è lento, costoso e datato. Glass è nativo al 100% in Rust, con una UI accelerata via GPU per un'interazione fluida. È anche gratuito e open source al 100% — contribuite, per favore.
arm64-v8a che armeabi-v7a di una libreria vengono cercate in un'unica query). Grammatica per pattern di byte con mascheramento + gap; grammatica assembly tipizzata per AArch64 e ARMv7, con menu a discesa di autocompletamento consapevole dell'ISA.Una panoramica delle viste principali — clicca su qualsiasi miniatura per vederla a dimensione piena.
Ogni analisi che Glass esegue nella GUI è esposta anche come verbo CLI che emette JSON strutturato. Lo stesso binario glass è il punto di ingresso per l'automazione — scegli un sottocomando e ottieni un risultato one-shot e scriptabile, perfetto per pipeline jq e 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
Passa `--text` per un output leggibile, omettilo per JSON.
Riferimento completo: **[docs/cli-api.md](https://github.com/azw413/glass/blob/main/docs/cli-api.md)**.
Questo significa che puoi scriptare e automatizzare le operazioni comuni.
## Competenze e MCP
Ogni verbo CLI è anche esposto come strumento tramite un server MCP (Model Context Protocol) integrato, quindi qualsiasi host compatibile con MCP — Claude Desktop, Cursor, Zed, il tuo client — può pilotare Glass direttamente per assistere nelle attività di reversing.```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
Per registrarti con Claude Desktop, aggiungi Glass a ~/Library/Application Support/Claude/claude_desktop_config.json:```json
{
"mcpServers": {
"glass": { "command": "/usr/local/bin/glass", "args": ["mcp"] }
}
}
Il modello può quindi chiamare `inspect`, `symbols`, `disasm`, `cfg-of`, `dex-callers`, `search` e qualsiasi altro verbo su qualunque bundle gli venga indicato. I risultati degli strumenti vengono restituiti nello stesso envelope JSON che otterresti dalla CLI.
## Ricerca
Tre motori complementari, tutti disponibili dalla stessa palette ⌘F nell'interfaccia grafica e come verbi CLI / MCP.
### Ricerca full-text