Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
idasql — Vibe Reverse Engineer with IDA SQL: लाइव वर्चुअल टेबल के माध्यम से SQL में IDA के लिए एक इंटरफ़ेस | Kitploit
उपकरण/GitHubGitHub/allthingsida/idasql
स्थैतिक विश्लेषणरिवर्स इंजीनियरिंगडीबगर्समालवेयर विश्लेषणबाइनरी विश्लेषणAI-सहायित रिवर्सिंगफर्मवेयर विश्लेषण
GitHuballthingsida/idasql

idasql

Vibe Reverse Engineer with IDA SQL: लाइव वर्चुअल टेबल के माध्यम से SQL में IDA के लिए एक इंटरफ़ेस

रिपॉजिटरी देखें
3632025 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

IDASQL

किसी भी AI एजेंट को संकलित बाइनरी समझने की क्षमता दें।

IDASQL, Elias Bachaalany द्वारा निर्मित, IDA Pro डेटाबेस के लिए एक SQL इंटरफ़ेस है। यह फ़ंक्शन, क्रॉस-रेफरेंस, स्ट्रिंग्स, टाइप्स, इम्पोर्ट्स, डिसअसेंबली और डीकंपाइलेशन को कवर करने वाली 30+ वर्चुअल टेबल प्रदान करता है। अपने कोडिंग एजेंट से /idasql स्किल का उपयोग करके पूरी तरह से हेडलेस काम करें -- एजेंट आपके लिए पृष्ठभूमि में IDA चलाता है -- या IDA का UI खोलें और साथ मिलकर रिवर्स इंजीनियरिंग करने के लिए अपने कोडिंग एजेंट के साथ सहयोग करें। कोई IDAPython नहीं। कोई स्क्रिप्टिंग नहीं। केवल SQL।

SQL क्यों? SQL सार्वभौमिक क्वेरी भाषा है जिसे हर AI एजेंट पहले से बोलता है। IDASQL एजेंट-स्वतंत्र है: Claude, ChatGPT, Copilot, Cursor, कस्टम एजेंट, या कोई एजेंट नहीं। कोई भी उपकरण जो SQL क्वेरी जारी कर सकता है, बाइनरी का विश्लेषण कर सकता है।

  • कोई इंडेक्सिंग आवश्यक नहीं। IDA में सब कुछ पहले से इंडेक्स्ड है। क्वेरी लाइव डेटाबेस के विरुद्ध तुरंत चलती हैं।
  • कोई स्क्रिप्टिंग आवश्यक नहीं। 30+ SQL टेबल IDAPython की सैकड़ों पंक्तियों की जगह लेती हैं।
  • हेडलेस, GUI, या दोनों। पूरी तरह से हेडलेस चलाएँ, IDA के UI के अंदर, या एक साथ कई डेटाबेस कनेक्ट करें।
  • पढ़ना और लिखना। IDASQL केवल एक क्वेरी टूल नहीं है। यह IDA डेटाबेस के सबसे महत्वपूर्ण पहलुओं को पढ़ने और लिखने की अनुमति देता है: डीकंपाइलेशन टिप्पणियाँ, टाइप रिकवरी, टाइप एप्लिकेशन (स्ट्रक्चर और यूनियन ऑफसेट), टाइप कास्ट का पता लगाना, और सही प्रोटोटाइप का स्वचालित रूप से अनुमान लगाना और अद्यतन करना।

IDASQL एक साथ एक या अधिक डेटाबेस के बीच विश्लेषण, क्रॉस-रेफरेंसिंग और एनोटेशन स्थानांतरण का समर्थन करता है। आप जो कर सकते हैं वह केवल आपकी कल्पना और आपके द्वारा उपयोग किए जाने वाले मॉडल की शक्ति से सीमित है।

यह कैसे काम करता है

IDA Pro के पास पहले से ही फ़ंक्शन, स्ट्रिंग, क्रॉस-रेफरेंस, टाइप आदि का वर्णन करने वाला अपना स्वयं का डेटाबेस प्रारूप है। IDASQL इन आंतरिक संरचनाओं को लाइव SQL वर्चुअल टेबल से मैप करता है। कोई अलग एक्सपोर्टिंग या इंडेक्सिंग चरण नहीं है -- क्वेरी सीधे IDA के डेटाबेस के विरुद्ध निष्पादित होती हैं और परिवर्तन लाइव परिलक्षित होते हैं।

root@kitploit:~
                    |
              /idasql skills (LLM translates intent to SQL)
                    |
                 IDASQL  -->  IDA database(s)
                    |
                 Results  -->  LLM summarizes & reasons
root@kitploit:~
[![Downloads](https://static.pepy.tech/badge/PyFunceble-dev)](https://pepy.tech/project/pyfunceble-dev)
[![Downloads](https://static.pepy.tech/badge/PyFunceble)](https://pepy.tech/project/pyfunceble)
[![Sourcery](https://img.shields.io/badge/Sourcery-enabled-brightgreen)](https://sourcery.ai)

[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/PyFunceble?style=social)](https://reddit.com/r/PyFunceble)

> डोमेन, आईपी या यूआरएल की उपलब्धता या वाक्यविन्यास जांचने का एक उपकरण।

PyFunceble एक उपकरण है जो डोमेन, आईपी पतों या यूआरएल की उपलब्धता या वाक्यविन्यास की जाँच करता है। इसे CI परिवेशों और निरंतर परीक्षण के लिए उपयोग किए जाने के लिए डिज़ाइन किया गया है। यह Python में लिखा गया है और कई डेटाबेस सिस्टम जैसे MySQL/MariaDB, PostgreSQL, SQLite, और स्थानीय संग्रहण के लिए JSON फ़ाइलों का भी समर्थन करता है।

## प्रायोजक

सभी प्रायोजकों का धन्यवाद! [प्रायोजक बनें](https://github.com/sponsors/funilrys)

## योगदान

अधिक जानकारी के लिए कृपया [CONTRIBUTING.md](https://github.com/allthingsida/idasql/blob/HEAD/CONTRIBUTING.md) फ़ाइल पढ़ें।```
$ idasql -s WerFaultTool.exe.i64 -q "SELECT * FROM funcs LIMIT 5"
Opening: WerFaultTool.exe.i64...
Database opened successfully.

+------+-------------------------------------------------+------+----------+-------+
| addr | name                                            | size | end_addr | flags |
+------+-------------------------------------------------+------+----------+-------+
| 16   | WerFaultTool.AboutForm::.ctor                   | 13   | 29       | 4096  |
| 32   | WerFaultTool.AboutForm::Dispose                 | 30   | 62       | 4096  |
| 64   | WerFaultTool.AboutForm::InitializeComponent     | 295  | 359      | 4096  |
| 400  | WerFaultTool.WerFaultGUI::.ctor                 | 936  | 1336     | 4096  |
| 1344 | WerFaultTool.WerFaultGUI::CreateDynamicControls | 231  | 1575     | 4096  |
+------+-------------------------------------------------+------+----------+-------+
5 row(s)

एक ही कमांड। तुरंत परिणाम। कोई स्क्रिप्टिंग आवश्यक नहीं।

त्वरित आरंभ

IDASQL CLI और प्लगइन को इंस्टॉल करने के बाद, अपने पसंदीदा कोडिंग एजेंट को शुरू करें और प्रॉम्प्टिंग द्वारा रिवर्स इंजीनियरिंग शुरू करें। IDASQL पूरी तरह से हेडलेस चलता है -- आपका एजेंट IDA Pro को नियंत्रित करता है: शुरू करना, विश्लेषण करना, डीकंपाइल करना, एनोटेट करना, सेव करना -- या IDA GUI के अंदर होस्ट किया जाता है जहाँ आप अपने एजेंट के साथ वास्तविक समय में सहयोग करते हैं।

आरंभ करना

अपना पसंदीदा कोडिंग एजेंट खोलें (जैसे Claude Code) और टाइप करें:``` /idasql:connect Please open sample_malware.exe in the background and let's analyze it together.

root@kitploit:~
एजेंट पृष्ठभूमि में IDASQL को बिना GUI के प्रारंभ करता है। इस बिंदु से, डेटाबेस के साथ स्वाभाविक रूप से चैट करें। उदाहरण के लिए:```
/idasql:annotations Fully annotate the function I'm looking at, also use the decompiler skill.

मॉडल फ़ंक्शन को समझने के लिए सर्वोत्तम दृष्टिकोण के बारे में स्वायत्त रूप से तर्क करता है, इसे पूरी तरह से रिवर्स इंजीनियर करता है, और इसका एनोटेशन करता है।

जब आपका काम पूरा हो जाए, तो एजेंट से सेव करने और शट डाउन करने के लिए कहें:``` /idasql:connect Please save all databases and shut down IDASQL.

root@kitploit:~
### एक साथ कई डेटाबेस के साथ काम करना

आप एक साथ दो या अधिक डेटाबेस के साथ काम कर सकते हैं। अपने एजेंट को प्रॉम्प्ट करें:```
/idasql:connect In this folder, there are many *.exe files. Please use parallel agents to open IDASQL in the background and report how many functions each has.

फिर अनुसरण करें:``` Tell me, how many strings all these databases have in common?

root@kitploit:~
एजेंट एक ही समय में सभी डेटाबेस के साथ काम करता है। आप उनके बीच क्रॉस-रेफरेंस कर सकते हैं, तुलना कर सकते हैं और एनोटेशन स्थानांतरित कर सकते हैं।

### IDA UI के साथ कार्य करना

उपरोक्त सब कुछ IDA GUI से समान रूप से काम करता है। खुले IDA सत्र के साथ अपने एजेंट को संलग्न करने के लिए:

1. IDA के `idasql>` प्रॉम्प्ट में, टाइप करें:   ```
   .http start
  1. IDA आउटपुट: ``` IDASQL HTTP server: http://127.0.0.1:8174
    root@kitploit:~
  2. अपने कोडिंग एजेंट में: ``` /idasql:connect Let's work with this database: http://127.0.0.1:8174
    root@kitploit:~

अब IDASQL और आपका IDA UI जुड़े हुए हैं और साथ में काम कर रहे हैं।

स्थापना

कोडिंग एजेंट प्लगइन्स

IDASQL स्किल्स आपके कोडिंग एजेंट को प्राकृतिक भाषा के माध्यम से IDA डेटाबेस पर पूरा नियंत्रण देती हैं।

  • Claude Code -- 15 टॉपिक-केंद्रित स्किल्स वाला पूर्ण प्लगइन, allthingsida/idasql-skills मार्केटप्लेस से इंस्टॉल किया जाता है।
  • GitHub Copilot CLI -- उसी प्लगइन के माध्यम से IDASQL स्किल्स का भी समर्थन करता है।
  • Codex (OpenAI) -- उसी प्लगइन पैकेजिंग के जरिए स्किल्स का समर्थन करता है। Codex इंस्टॉल चरणों के लिए idasql-skills रिपॉजिटरी देखें।

पूर्वापेक्षाएँ

  1. IDA Pro इंस्टॉल हो और उसकी डायरेक्टरी आपके PATH में हो (ida.exe Windows पर, ida macOS/Linux पर)
  2. idasql Releases से डाउनलोड हो और IDA बाइनरी के बगल में रखा गया हो
  3. सेटअप सत्यापित करें: idasql --version कमांड लाइन से काम करना चाहिए

इंस्टॉल (Claude Code)

Claude Code के अंदर, चलाएँ:```text /plugin marketplace add allthingsida/idasql-skills

root@kitploit:~
फिर उस मार्केटप्लेस से `idasql` प्लगइन इंस्टॉल करें। Codex और अन्य इंस्टॉल पथों के लिए [idasql-skills README](https://github.com/allthingsida/idasql-skills#installation) देखें।

#### Skills

| Skill | Description |
|-------|-------------|
| `connect` | IDA डेटाबेस से कनेक्ट करें: CLI, HTTP सर्वर, सत्र बूटस्ट्रैप, स्किल रूटिंग, वैश्विक कॉन्ट्रैक्ट। |
| `disassembly` | IDA डिसअसेम्बली क्वेरी करें: फ़ंक्शन, सेगमेंट, निर्देश, ब्लॉक, ऑपरेंड, ग्राफ़। |
| `data` | IDA स्ट्रिंग्स, बाइट्स और बाइनरी डेटा क्वेरी करें: खोज, रिबिल्ड, बाइट पैटर्न। |
| `xrefs` | IDA क्रॉस-रेफरेंस का विश्लेषण करें: कॉलर, कैली, इम्पोर्ट्स, डेटा रेफ्स, grep खोज। |
| `decompiler` | IDA फ़ंक्शन डीकंपाइल करें: pseudocode, ctree AST, लोकल वेरिएबल्स, लेबल। |
| `annotations` | IDA डेटाबेस संपादित करें: कमेंट, रीनाम, टाइप्स, बुकमार्क, enum/struct रेंडरिंग। |
| `types` | IDA टाइप सिस्टम: structs, unions, enums, typedefs, parse_decls बनाना/संशोधित करना/लागू करना। |
| `debugger` | IDA डीबगर: ब्रेकपॉइंट्स, बाइट पैचिंग, कंडीशन, पैच इन्वेंटरी। |
| `storage` | netnode_kv के माध्यम से IDA डेटाबेस में स्थायी key-value स्टोरेज। |
| `idapython` | idasql के माध्यम से IDAPython निष्पादित करें: snippets, सैंडबॉक्स, आउटपुट कैप्चर। |
| `functions` | संपूर्ण idasql SQL फ़ंक्शन संदर्भ सूची। |
| `analysis` | IDA बाइनरीज़ का विश्लेषण करें: triage, सुरक्षा ऑडिट, क्रिप्टो/नेटवर्क पहचान, मल्टी-टेबल क्वेरीज़। |
| `resource` | IDA बाइनरीज़ को री-सोर्स करें: रिकर्सिव एनोटेशन, संरचना पुनर्प्राप्ति, टाइप पुनर्निर्माण। |
| `ui-context` | लाइव IDA UI संदर्भ कैप्चर करें: स्क्रीन, चयन, widget फ़ोकस, एड्रेस एंकर। |

#### Example Prompts```
/idasql:analysis analyze this binary; tell me the most called functions.
/idasql:data find functions that reference "password" strings and rank by xrefs.
/idasql:xrefs show callers of CreateFileW and summarize error handling.
/idasql:data identify suspicious hardcoded URLs and the functions that reference them.

/idasql क्षमताएँ आपके कोडिंग CLI से विश्लेषण को संचालित करती हैं -- कोई IDAPython स्क्रिप्टिंग आवश्यक नहीं है।

CLI सहायता``` $ idasql Error: Database path required (-s)

idasql v0.0.18 - SQL interface to IDA databases

Usage: idasql -s [-q ] [-f ] [-i] [--export ]

Options: -s IDA database (.idb/.i64) OR raw binary (.exe/.dll/firmware/etc.) — raw binaries trigger fresh idalib analysis and string-list rebuild — legacy 32-bit .idb files upgrade to .i64 and require an explicit reopen --token Auth token for HTTP/MCP server mode (if server requires it) -q Execute SQL query or semicolon-separated script -f Execute SQL from file -i Interactive REPL mode -w, --write Save database on exit (persist changes) --export Export tables to SQL file (local mode only) --export-tables=X Tables to export: * (all, default) or table1,table2,... --http [port] Start HTTP REST server (default: 8080, local mode only) --bind Bind address for HTTP/MCP server (default: 127.0.0.1) --mcp [port] Start MCP server (default: random port, use in -i mode) Or use .mcp start in interactive mode -h, --help Show this help --version Show version

Examples: idasql -s test.i64 -q "SELECT name, size FROM funcs LIMIT 10" idasql -s test.i64 -q "SELECT * FROM binary; SELECT COUNT(*) FROM funcs;" idasql -s test.i64 -f queries.sql idasql -s test.i64 -i idasql -s test.i64 --export dump.sql idasql -s test.i64 --http 8080 idasql -s sample.exe --http # raw PE: idalib auto-analyzes, then serves SQL (default port 8080) idasql -s firmware.bin -q "SELECT * FROM binary" idasql -s test.i64 --mcp 9000

Thank you for using IDA. Have a nice day!

root@kitploit:~
पुराने 32-बिट `.idb` इनपुट idalib द्वारा एक सहोदर `.i64` में अपग्रेड किए जाते हैं। जब ऐसा
होता है, idasql SQL परोसने से पहले बाहर निकलता है, एग्ज़िट कोड `3` लौटाता है, और एक
JSON ऑब्जेक्ट stdout पर `status:"upgraded"` और `reopen_with` के साथ प्रिंट करता है। वही
ऑपरेशन `-s <reopen_with>` के साथ दोहराएँ।

</details>

### स्रोत से निर्माण

#### पूर्वापेक्षाएँ

- CMake 3.20+
- C++20 कंपाइलर
- IDA SDK 9.0+ (`IDASDK` पर्यावरण चर सेट करें)```bash
cmake -S . -B build -DIDASQL_WITH_MCP=ON -DIDASQL_BUILD_EXAMPLES=OFF
cmake --build build --config Release

उपयोगी CMake स्विच:

टूल डाउनलोड करें
मोडकैसे शुरू करेंकिसके लिए सर्वोत्तम
स्टैंडअलोन CLIidasql -s binary.i64 -iडायरेक्ट SQL, स्क्रिप्टिंग, पाइपलाइन
IDA प्लगिनIDA की CLI ड्रॉपडाउन से idasql चुनेंGUI के अंदर SQL, लाइव डेटाबेस
स्किल वर्कफ़्लोअपने कोडिंग CLI में /idasql:connectAI-संचालित विश्लेषण -- एजेंट स्वायत्त रूप से SQL क्वेरी जारी करता है
You / Agent --> Natural language or SQL
SwitchDefaultDescription
IDASQL_WITH_MCPONfastmcpp के माध्यम से MCP सर्वर समर्थन बनाएँ। छोटे/ऑफ़लाइन बिल्ड के लिए या जब आपको --mcp / .mcp की आवश्यकता न हो तो अक्षम करें।
IDASQL_BUILD_CLIONस्टैंडअलोन idasql कमांड-लाइन टूल बनाएँ।
IDASQL_BUILD_PLUGINONIDA प्लगइन बनाएँ।
IDASQL_BUILD_EXAMPLESONexamples/ के अंतर्गत उदाहरण प्रोग्राम बनाएँ।

नोट्स:

  • Hex-Rays समर्थन हमेशा संकलित रहता है और रनटाइम पर पता लगाया जाता है। यदि Hex-Rays उपलब्ध नहीं है, तो डीकंपाइलर-समर्थित तालिकाओं/फ़ंक्शनों को केवल पंजीकृत नहीं किया जाता।
  • HTTP REST समर्थन हमेशा संकलित रहता है; CLI से --http या REPL/प्लगइन CLI से .http start का उपयोग करें।
  • IDAPython SQL निष्पादन संकलित है लेकिन रनटाइम पर डिफ़ॉल्ट रूप से अक्षम है। इसे प्रति सत्र PRAGMA idasql.enable_idapython = 1; के साथ सक्षम करें।
  • IDASQL_WITH_MCP=ON fastmcpp प्राप्त करता है; OFF MCP समर्थन और --mcp / .mcp कमांड हटा देता है।
  • XSQL_WITH_THINCLIENT को ON के लिए बाध्य किया गया है, और HTTPLIB_USE_OPENSSL_IF_AVAILABLE को OFF के लिए बाध्य किया गया है क्योंकि IDASQL स्थानीय सादा HTTP उपयोग करता है।

उपलब्ध तालिकाएँ

30+ वर्चुअल तालिकाएँ जो फ़ंक्शन, स्ट्रिंग, प्रकार, क्रॉस-रेफरेंस, डिसअसेम्बली, डीकंपिलेशन, और अधिक को कवर करती हैं।

मुख्य

TableDescription
funcsफ़ंक्शन - name, addr, size, end addr, flags (INSERT/UPDATE/DELETE)
segmentsसेगमेंट - name, start/end addr, permissions, class (INSERT/UPDATE/DELETE)
namesनामित स्थान - addr, name, flags (INSERT/UPDATE/DELETE)
entriesएंट्री पॉइंट - export/program/tls callbacks (ordinal, addr, name)
importsइम्पोर्ट - module, name, addr, ordinal
xrefsक्रॉस-रेफरेंस - from/to addr, type, is_code
blocksबेसिक ब्लॉक - start/end addr, func_addr, size
fchunksफ़ंक्शन चंक - स्वामी के साथ split/tail चंक
instructionsडिसअसेम्बली - addr, mnemonic, operands, itype, func_addr (UPDATE operand format_spec / DELETE)
instruction_operandsसामान्यीकृत इंस्ट्रक्शन ऑपरेंड - opnum, text, type, value; addr और func_addr द्वारा अनुकूलित
headsसभी head आइटम (कोड + डेटा) - अनुकूलित एड्रेस लुकअप/रेंज नेविगेशन

स्ट्रिंग्स और बाइट्स

TableDescription
stringsस्ट्रिंग्स - addr, content, length, type
bytesरॉ बाइट्स - value/word/dword/qword लिखने योग्य (UPDATE पैच करता है, DELETE वापस लाता है), original_value, is_patched (WHERE is_patched = 1 के माध्यम से तेज़ पैच गणना)

डीकंपाइलर

TableDescription
pseudocodeHex-Rays के माध्यम से डीकंपाइल किया गया स्यूडोकोड
ctreeHex-Rays ctree AST नोड्स
ctree_lvarsHex-Rays डीकंपिलेशन से स्थानीय चर
ctree_call_argsप्रति कॉल साइट Hex-Rays कॉल तर्क विवरण
ctree_labelsHex-Rays ctree लेबल (goto लक्ष्य)

प्रकार

TableDescription
typesप्रकार लाइब्रेरी - सदस्यों के साथ structs, unions, enums (INSERT/UPDATE/DELETE)
types_membersStruct/union सदस्य विवरण (INSERT/UPDATE/DELETE)
types_enum_valuesEnum सदस्य मान (INSERT/UPDATE/DELETE)
types_func_argsफ़ंक्शन प्रकार तर्क विवरण
local_typesस्थानीय प्रकार लाइब्रेरी प्रविष्टियाँ

एनोटेशन

TableDescription
commentsटिप्पणियाँ - addr, नियमित और दोहराने योग्य टिप्पणियाँ (INSERT/UPDATE/DELETE)
bookmarksबुकमार्क - slot, addr, विवरण (INSERT/UPDATE/DELETE)
breakpointsब्रेकपॉइंट - addr, type, enabled, condition (पूर्ण CRUD)
hidden_rangesसंक्षिप्त/छिपी रेंज - start/end, विवरण, header, footer

खोज

TableDescription
grepएकीकृत एंटिटी खोज तालिका (pattern, name, kind, addr, ordinal, parent_name, full_name)

डेटाबेस जानकारी

TableDescription
binaryडेटाबेस सारांश/अवलोकन - processor, bitness, एड्रेस रेंज, गणना
db_infoडेटाबेस मेटाडेटा कुंजी-मान जोड़े
ida_infoIDA विश्लेषण जानकारी कुंजी-मान जोड़े
problemsIDA विश्लेषण समस्याएँ/चेतावनी
signaturesFLIRT सिग्नेचर स्थिति
fixupsFixup/रिलोकेशन प्रविष्टियाँ
mappingsएड्रेस स्पेस मैपिंग

भंडारण

TableDescription
netnode_kvस्थायी कुंजी-मान भंडारण (netnode)

विश्लेषण

TableDescription
disasm_callsकॉल ग्राफ - प्रति फ़ंक्शन caller/callee जोड़े
disasm_loopsलूप पहचान - header ब्लॉक और बैक एज

SQL फ़ंक्शन

FunctionDescription
decompile(addr)एड्रेस पर फ़ंक्शन डीकंपाइल करें (स्यूडोकोड लौटाता है)
disasm_at(addr)एड्रेस पर कैननिकल डिसअसेम्बली सूची
get_ui_context_json()UI कॉन्टेक्स्ट JSON — GUI प्लगइन में लाइव; CLI/idalib के अंतर्गत एक "लागू नहीं" स्टब

एकीकृत एंटिटी खोज

नामित फ़ंक्शन, लेबल, सेगमेंट, प्रकार और सदस्यों पर संयोजनीय SQL खोजों के लिए grep तालिका का उपयोग करें।```sql -- Search anything starting with "Create" SELECT name, kind, printf('0x%X', addr) as addr FROM grep WHERE pattern = 'Create%' LIMIT 20;

-- Search anywhere in name (plain text performs a contains search) SELECT name, kind, full_name FROM grep WHERE pattern = 'File' AND kind IN ('function', 'import') LIMIT 20;

-- Find struct members SELECT name, parent_name, full_name FROM grep WHERE pattern = 'dw%' AND kind = 'member';

-- Pagination SELECT name, kind, full_name FROM grep WHERE pattern = 'Create%' ORDER BY kind, name LIMIT 20 OFFSET 20;

root@kitploit:~
## एकीकरण

### HTTP REST API

सरल एकीकरण के लिए स्टेटलेस HTTP सर्वर। कोई प्रोटोकॉल ओवरहेड नहीं।```bash
idasql -s database.i64 --http 8080

The input chunk is empty—no source content was provided after "INPUT:". Please supply the Markdown content for chunk 33 so it can be translated.```bash curl http://localhost:8080/status curl -X POST http://localhost:8080/query -d "SELECT name FROM funcs LIMIT 5" curl -X POST http://localhost:8080/query -d "SELECT * FROM binary; SELECT COUNT(*) FROM funcs;"

root@kitploit:~
सभी `/query` प्रतिक्रियाएँ विहित स्क्रिप्ट आवरण का उपयोग करती हैं — एकल कथन = एक प्रविष्टि की सरणी:```
{
  "success": true,
  "statement_count": <N>,
  "results": [
    { "statement_index": 0, "success": true, "columns": [...], "rows": [...], "row_count": <N>, "elapsed_ms": <ms>, "error": null },
    ...
  ],
  "row_count_total": <N>,
  "elapsed_ms_total": <ms>,
  "first_error_index": null
}

Fail-fast डिफ़ॉल्ट है; पिछली विफलताओं की परवाह किए बिना हर स्टेटमेंट चलाने के लिए continue_on_error=true (जैसे ?continue_on_error=1) पास करें। प्रत्येक results[i].error प्रति-स्टेटमेंट विफलताओं के लिए प्रामाणिक है; first_error_index सबसे पहली विफलता की ओर इशारा करता है या null होता है। स्प्लिटर विफलता (जैसे एक अनटर्मिनेटेड कोट) पर प्रतिक्रिया success:false, statement_count:0, results:[], और एक शीर्ष-स्तरीय parse_error होती है।

कई डेटाबेस के लिए, अलग-अलग इंस्टेंस चलाएँ:```bash idasql -s malware.i64 --http 8080 idasql -s kernel.i64 --http 8082

root@kitploit:~
एंडपॉइंट्स: `/status`, `/help`, `/query`, `/shutdown`

#### REPL से HTTP सर्वर

REPL या IDA प्लगइन CLI से इंटरैक्टिव रूप से HTTP सर्वर प्रारंभ करें:```
idasql -s database.i64 -i
idasql> .http start
HTTP server started on port 8142
URL: http://127.0.0.1:8142
...
Press Ctrl+C to stop and return to REPL.

IDA प्लगइन में (गैर-अवरोधक):``` idasql> .http start HTTP server started on port 8142 idasql> .http stop HTTP server stopped

root@kitploit:~
सर्वर `--http` के साथ टकराव से बचने के लिए एक यादृच्छिक पोर्ट (8100-8199) का उपयोग करता है।

### ऑटोस्टार्ट (पिनिंग)

`.pin` IDB (netnode `$ idasql config`) में एक सर्वर प्राथमिकता संग्रहीत करता है, ताकि जब भी वह डेटाबेस खोला जाए, **IDA प्लगइन स्वतः एक HTTP या MCP सर्वर प्रारंभ करे** — यह मल्टी-इंस्टेंस सेटअप के लिए उपयोगी है जहाँ प्रत्येक डेटाबेस एक स्थिर, ज्ञात पोर्ट बनाए रखता है।```
idasql> .pin set http 8080        # pin HTTP at 127.0.0.1:8080 (autostart on)
idasql> .pin set mcp 0.0.0.0 9500 # bind override + port (port optional; omit or 0 = fresh random port each launch)
idasql> .pin list                 # show pinned config
idasql> .pin off http             # disable autostart but keep host/port
idasql> .pin clear all            # remove all pins

पिन करने के बाद, डेटाबेस को दोबारा खोलने पर सर्वर अपने आप शुरू हो जाता है — आप इसे लोड होने पर IDA आउटपुट विंडो में देखेंगे:``` IDASQL v0.0.18: Query engine initialized IDASQL CLI: Installed IDASQL: autostart -> IDASQL HTTP server: http://127.0.0.1:8099 Type '.http stop' to stop the server.

root@kitploit:~
`.pin` (या `.pin list`) दोनों सेवाओं के लिए वर्तमान कॉन्फ़िगरेशन दिखाता है:```
idasql> .pin
Autostart pins:
  http 127.0.0.1:8099  (autostart: on)
  mcp  (not set)
  • लोड होने पर ऑटोस्टार्ट केवल IDA प्लगइन में होता है। .pin कमांड स्वयं CLI और प्लगइन दोनों में काम करता है (CLI केवल पिन को पढ़ता/लिखता है)।
  • .http start / .mcp start बिना स्पष्ट पोर्ट के पिन किए गए होस्ट/पोर्ट का पुन: उपयोग करते हैं।
  • CLI से, .pin परिवर्तन केवल तभी स्थायी होते हैं जब -w/--write के साथ प्रारंभ किया गया हो (किसी भी अन्य IDB संपादन की तरह)।

MCP सर्वर

MCP-संगत क्लाइंट्स के लिए (Model Context Protocol, AI टूल एकीकरण के लिए एक मानक):

--mcp और .mcp तब उपलब्ध होते हैं जब -DIDASQL_WITH_MCP=ON के साथ बिल्ड किया जाता है, जो डिफ़ॉल्ट है। MCP समर्थन छोड़ने के लिए -DIDASQL_WITH_MCP=OFF के साथ बिल्ड करें।```bash

Standalone mode

idasql -s database.i64 --mcp idasql -s database.i64 --mcp 9500 # specific port

Or in interactive mode

idasql -s database.i64 -i .mcp start

root@kitploit:~
अपना MCP क्लाइंट कॉन्फ़िगर करें:```json
{
  "mcpServers": {
    "idasql": { "url": "http://127.0.0.1:<port>/sse" }
  }
}

उपकरण: idasql_query (प्रत्यक्ष SQL क्वेरी या सेमीकोलन-पृथक स्क्रिप्ट)

xsql परिवार

IDASQL टूलों के एक परिवार का हिस्सा है जो साझा libxsql वर्चुअल-टेबल फ्रेमवर्क पर निर्मित, समान SQL सतह के माध्यम से विभिन्न बाइनरी-विश्लेषण और डीबग-जानकारी प्लेटफ़ॉर्म को उजागर करता है। जो क्वेरी आप एक टूल के विरुद्ध सीखते हैं वह काफी हद तक दूसरों पर भी लागू होती है — उदाहरण के लिए, वही SELECT name, size FROM funcs ORDER BY size DESC LIMIT 10 हर जगह चलती है।

रिवर्स-इंजीनियरिंग प्लेटफ़ॉर्म

  • bnsql — Binary Ninja डेटाबेस SQL के रूप में।
  • ghidrasql — Ghidra डेटाबेस SQL के रूप में।

डीबग जानकारी और कंपाइलर डेटा

  • pdbsql — Windows PDB सिंबल फ़ाइलें SQL के रूप में।
  • dwarfsql — DWARF डीबग जानकारी SQL के रूप में।
  • clangsql — Clang AST SQL के रूप में।

कोर

  • libxsql — वह C++ SQLite वर्चुअल-टेबल फ्रेमवर्क जिस पर ऊपर दिया गया हर टूल निर्मित है।

निर्माण में प्रयुक्त

  • libxsql - हेडर-ओनली C++17 लाइब्रेरी जो C++ डेटा संरचनाओं को SQLite वर्चुअल टेबल के रूप में प्रस्तुत करती है। टेबल परिभाषित करने हेतु फ्लूएंट बिल्डर API, कंस्ट्रेंट पुशडाउन और HTTP थिन-क्लाइंट समर्थन प्रदान करती है।

  • fastmcpp - वैकल्पिक MCP सर्वर इम्प्लीमेंटेशन, जो -DIDASQL_WITH_MCP=ON के साथ बिल्ड करते समय उपयोग किया जाता है।

लाइसेंस और उपयोग की शर्तें

संक्षेप में: आप बिना संशोधित idasql को पढ़ सकते हैं, बिल्ड कर सकते हैं, मूल्यांकन कर सकते हैं, बेंचमार्क कर सकते हैं, पैकेज कर सकते हैं और उपयोग कर सकते हैं — व्यावसायिक रूप से भी — बशर्ते आप सूचनाएँ बनाए रखें और लाइसेंस की शर्तों का पालन करें। आप लाइसेंस के योगदान-उद्देश्य नियमों के अंतर्गत पुनः योगदान हेतु बग फिक्स, ऑप्टिमाइज़ेशन, सुविधाएँ, टेस्ट या दस्तावेज़ सुधार तैयार करने के लिए इसे फोर्क या पैच कर सकते हैं।

आप Elias Bachaalany से पूर्व लिखित अनुमति के बिना कोई विचलित निजी फोर्क, पोर्ट, रीब्रांड, क्लोन, API-संगत विकल्प या प्रतिस्पर्धी इम्प्लीमेंटेशन बनाए नहीं रख सकते, और न ही किसी व्युत्पन्न इम्प्लीमेंटेशन को पुनर्निर्मित या बेहतर बनाने के लिए idasql को AI इनपुट के रूप में उपयोग कर सकते हैं। स्वतंत्र इम्प्लीमेंटेशन जो लाइसेंस में परिभाषित अर्थों में idasql से कॉपी नहीं किए गए हैं, भौतिक रूप से व्युत्पन्न नहीं हैं, या जिन्हें idasql से पर्याप्त रूप से प्रभावित नहीं माना जाता, वे प्रतिबंधित नहीं हैं।

अनुमति अनुरोध: allthingsida/idasql/issues पर GitHub issue खोलें।

यदि idasql किसी वितरित प्रोजेक्ट को भौतिक रूप से प्रभावित करता है, तो मानव उत्पत्ति बनाए रखें: जहाँ लागू हो, अपने README/दस्तावेज़ों और About/क्रेडिट UI में idasql और Elias Bachaalany को दृश्य रूप से श्रेय दें। लाइसेंस में सामान्य अनुमत और अनुमति-आवश्यक उपयोगों के लिए एक examples/FAQ अनुभाग शामिल है। तृतीय-पक्ष निर्भरताएँ (libxsql, IDA SDK, और उनकी ट्रांज़िटिव निर्भरताएँ) अपने स्वयं के लाइसेंसों के अधीन रहती हैं।

पूरा Human-Origin Source License v1.0 देखें।