
Glass - une alternative rapide et gratuite à IDA Pro
au sens de transparent et lisse
Un désassembleur interactif rapide, natif et pensé d’abord pour les applications mobiles. Successeur spirituel d’IDA Pro pour le workflow de rétro-ingénierie Android / iOS, construit autour de :
smali pour la gestion des APK / DEX / smaliarmv8-encode pour AArch64 et ARMv7 (A32 / Thumb) — .so natifs, Mach-O iOSgpui (Zed) pour l’interface native accélérée par GPUredb pour la persistance adressée par contenurquickjs pour des plugins scriptables (prévu)Licence : GPL-3.0-only (héritée de smali).
Nous avons tous utilisé IDA Pro — c’est la référence du secteur pour la rétro-ingénierie, avec des années de plugins derrière lui, mais c’est lent, cher et daté. Glass est 100 % natif en Rust avec une interface accélérée par GPU pour une interaction fluide. C’est aussi 100 % gratuit et open source — contribuez.
arm64-v8a et armeabi-v7a d’une bibliothèque sont donc cherchées en une seule requête). Grammaire de motifs d’octets avec masquage + intervalles ; grammaire d’assembleur typée pour AArch64 et ARMv7, avec une liste déroulante d’autocomplétion tenant compte de l’ISA.Un parcours des vues principales — cliquez sur n’importe quelle vignette pour la voir en taille réelle.
Chaque analyse que Glass effectue dans l’interface graphique est également exposée comme verbe CLI émettant du JSON structuré. Le même binaire glass est le point d’entrée de l’automatisation — choisissez une sous-commande et vous obtenez un résultat ponctuel et scriptable, parfait pour les pipelines jq et l’intégration continue.```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
Passez `--text` pour un rendu lisible par un humain, omettez-le pour le JSON.
Référence complète : **[docs/cli-api.md](https://github.com/azw413/glass/blob/main/docs/cli-api.md)**.
Cela signifie que vous pouvez scripter et automatiser les opérations courantes.
## Compétences et MCP
Chaque verbe CLI est également exposé en tant qu'outil via un serveur MCP (Model Context Protocol) intégré, de sorte que tout hôte compatible MCP — Claude Desktop, Cursor, Zed, votre propre client — peut piloter Glass directement pour aider aux tâches de rétro-ingénierie.```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
Pour enregistrer Glass auprès de Claude Desktop, ajoutez Glass à ~/Library/Application Support/Claude/claude_desktop_config.json:```json
{
"mcpServers": {
"glass": { "command": "/usr/local/bin/glass", "args": ["mcp"] }
}
}
Le modèle peut ensuite appeler `inspect`, `symbols`, `disasm`, `cfg-of`, `dex-callers`, `search` et tous les autres verbes sur n'importe quel bundle que vous lui désignez. Les résultats des outils reviennent dans la même enveloppe JSON que celle que vous obtiendriez avec la CLI.
## Recherche
Trois moteurs complémentaires, tous disponibles depuis la même palette ⌘F de l'interface graphique et en tant que verbes CLI / MCP.
### Recherche en texte intégral