
Glass - एक तेज़ और मुफ़्त IDA Pro विकल्प
अर्थात पारदर्शी और चिकना
एक तेज़, नेटिव, मोबाइल-ऐप प्रथम इंटरैक्टिव डिसअसेंबलर। Android / iOS रिवर्स इंजीनियरिंग वर्कफ़्लो के लिए IDA Pro का आध्यात्मिक उत्तराधिकारी, जो इनके चारों ओर निर्मित है:
smali APK / DEX / smali हैंडलिंग के लिएarmv8-encode AArch64 और ARMv7 (A32 / Thumb) के लिए — नेटिव .so, iOS Mach-Ogpui (Zed) GPU-एक्सेलरेटेड नेटिव UI के लिएredb कंटेंट-एड्रेस्ड पर्सिस्टेंस के लिएrquickjs स्क्रिप्टेबल प्लगइन्स के लिए (योजनाबद्ध)लाइसेंस: GPL-3.0-only (smali से प्राप्त)।
हम सभी ने IDA Pro का उपयोग किया है — यह रिवर्सिंग के लिए उद्योग मानक है और इसके पीछे वर्षों के प्लगइन्स हैं, लेकिन यह धीमा, महंगा और पुराना है। Glass 100% Rust नेटिव है जिसमें सहज इंटरैक्शन के लिए GPU-एक्सेलरेटेड UI है। यह 100% मुफ्त और ओपन सोर्स भी है — कृपया योगदान करें।
arm64-v8a और armeabi-v7a दोनों कॉपियाँ एक ही क्वेरी में खोजी जाती हैं)। मास्किंग + गैप्स के साथ बाइट-पैटर्न ग्रामर; AArch64 और ARMv7 के लिए टाइप्ड-असेंबली ग्रामर, ISA-अवेयर ऑटोकंप्लीट ड्रॉपडाउन के साथ।मुख्य व्यूज़ की एक सैर — किसी भी थंबनेल पर क्लिक करके इसे पूर्ण आकार में देखें।
GUI में 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)**।
इसका मतलब है कि आप सामान्य कार्यों को स्क्रिप्ट और स्वचालित कर सकते हैं।
## Skills और 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 envelope में वापस आते हैं जो आपको CLI से मिलता है।
## खोज
तीन पूरक इंजन, सभी GUI में एक ही ⌘F पैलेट से और CLI / MCP क्रियाओं के रूप में उपलब्ध हैं।
### पूर्ण-पाठ खोज
बंडल-व्यापी फ़ज़ी मिलान, जो नेटिव प्रतीकों, DEX कक्षाओं / विधियों / फ़ील्ड्स, और कोड तथा डेटा अनुभागों में स्ट्रिंग लिटरल्स पर लागू होता है। टाइप करते ही लाइव-फ़िल्टर होता है; परिणाम सही दृश्य पर भेजे जाते हैं (नेटिव पतों के लिए listing, DEX लक्ष्यों के लिए smali व्यूअर, डेटा हिट्स के लिए hex दृश्य)। लोड होने के बाद इंडेक्स पृष्ठभूमि थ्रेड पर बनते हैं — प्रगति चिप उस दौरान दिखाई देती है।```sh
glass search ./app.apk onCreate # all things named like "onCreate"
glass search ./libfoo.so init --limit 20
CLI संदर्भ: search क्रिया docs/cli-api.md में.