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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
kong — दुनिया का पहला एजेंटिक रिवर्स इंजीनियर। | Kitploit
उपकरण/GitHubGitHub/amruth-sn/kong
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगडीबगर्समालवेयर विश्लेषणबाइनरी विश्लेषणलर्निंग और शिक्षाAI-सहायित रिवर्सिंगफर्मवेयर विश्लेषण
1.1k1254 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
amruth-sn/kong

kong

दुनिया का पहला एजेंटिक रिवर्स इंजीनियर।

रिपॉजिटरी देखेंवेबसाइट

कोंग: एजेंटिक रिवर्स इंजीनियर

PyPI - Version X (formerly Twitter) URL

कोंग: दुनिया का पहला AI रिवर्स इंजीनियर

बाइनरी रिवर्स इंजीनियरिंग के लिए LLM ऑर्केस्ट्रेशन

कोंग क्या है?

अधिकांश कार्य एक रेखीय संबंध का पालन करते हैं: कार्य जितना कठिन होता है, आमतौर पर इसमें उतना ही अधिक समय लगता है। रिवर्स इंजीनियरिंग (और बाइनरी विश्लेषण) एक ऐसा कार्य है जिसमें वास्तविक कठिनाई कुछ हद तक तुच्छ है, लेकिन निष्पादन का समय घंटों (और दिनों!) के क्रम में हो सकता है, यहां तक कि कुछ सौ फ़ंक्शन वाले बाइनरी के लिए भी।

कोंग यांत्रिक परत को स्वचालित करता है, NSA-ग्रेड रिवर्स इंजीनियरिंग फ्रेमवर्क का उपयोग करके। कोंग एक पूरी तरह से अस्पष्ट, स्ट्रिप्ड बाइनरी ले सकता है और एक पूर्ण विश्लेषण पाइपलाइन चला सकता है: फ़ंक्शन को ट्राइएज करना, कॉल-ग्राफ़ संदर्भ बनाना, LLM-निर्देशित डीकंपाइलेशन के माध्यम से प्रकार और प्रतीकों को पुनर्प्राप्त करना, और परिणामों को Ghidra के प्रोग्राम डेटाबेस में वापस लिखना। आउटपुट एक बाइनरी है जहाँ कुछ FUN_00401a30 अब parse_http_header है, पुनर्प्राप्त स्ट्रक्ट्स, पैरामीटर नाम और कॉलिंग कन्वेंशन के साथ।

यह क्यों मौजूद है

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

LLM इस प्रकार के पैटर्न मिलान में ठीक अच्छे हैं। लेकिन कच्चे डीकंपाइलर आउटपुट पर LLM को इंगित करना और पूछना "यह क्या करता है?" आपको औसत दर्जे के परिणाम देता है। मॉडल में कॉलिंग संदर्भ, क्रॉस-रेफरेंस जानकारी, और यह व्यापक चित्र नहीं है कि बाइनरी कैसे संरचित है। इसके अलावा, अधिकांश अस्पष्ट बाइनरी रिवर्स इंजीनियरिंग को रोकने के लिए चरम तकनीकें पेश करती हैं।

कोंग इसे LLM को छूने से पहले Ghidra के प्रोग्राम विश्लेषण (कॉल ग्राफ़, क्रॉस-रेफरेंस, स्ट्रिंग रेफरेंस, डेटा प्रवाह) से समृद्ध संदर्भ विंडो बनाकर हल करता है, फिर निर्भरता क्रम में विश्लेषण को व्यवस्थित करता है ताकि प्रत्येक फ़ंक्शन को उसके कैलीज़ के पहले से नामित होने का लाभ मिले। इसके अतिरिक्त, कोंग अपनी खुद की, अपनी तरह की पहली, एजेंटिक डीऑबफस्केशन पाइपलाइन पेश करता है।

कार्रवाई में

कोंग: दुनिया का पहला AI रिवर्स इंजीनियर कोंग: दुनिया का पहला AI रिवर्स इंजीनियर

विशेषताएँ

  • पूरी तरह से स्वायत्त पाइपलाइन: एक कमांड पूरा विश्लेषण चलाता है। ट्राइएज, फ़ंक्शन विश्लेषण, सफाई, सिमैंटिक सिंथेसिस और निर्यात। किसी मैन्युअल हस्तक्षेप की आवश्यकता नहीं है।
  • इन-प्रोसेस Ghidra एकीकरण: PyGhidra और JPype के माध्यम से इन-प्रोसेस Ghidra के विश्लेषण इंजन को चलाता है। कोई सर्वर नहीं, कोई RPC नहीं, कोई सबप्रोसेस ओवरहेड नहीं। प्रोग्राम डेटाबेस तक सीधी पहुंच।
  • कॉल-ग्राफ़-क्रमित विश्लेषण: फ़ंक्शन कॉल ग्राफ़ से नीचे-ऊपर क्रम में विश्लेषित किए जाते हैं। लीफ़ फ़ंक्शन को पहले नामित किया जाता है, जिससे कॉलर्स को उनके डीकंपाइलेशन में पहले से हल किए गए संदर्भ का लाभ मिलता है।
  • समृद्ध संदर्भ विंडो: प्रत्येक LLM प्रॉम्प्ट में लक्ष्य फ़ंक्शन का डीकंपाइलेशन और क्रॉस-रेफरेंस, स्ट्रिंग रेफरेंस, कॉलर/कैली सिग्नेचर, और पड़ोसी डेटा शामिल होता है; केवल अलग-थलग कच्चा डीकंपाइलर आउटपुट नहीं।
  • सिमैंटिक सिंथेसिस: एक पोस्ट-विश्लेषण पास जो बाइनरी में नामकरण परंपराओं को एकीकृत करता है, फ़ील्ड एक्सेस पैटर्न से स्ट्रक्ट परिभाषाओं को संश्लेषित करता है, और स्वतंत्र रूप से विश्लेषित फ़ंक्शनों के बीच विसंगतियों को हल करता है।
  • सिग्नेचर मिलान: LLM विश्लेषण से पहले ज्ञात मानक लाइब्रेरी और क्रिप्टोग्राफ़िक फ़ंक्शन पैटर्न द्वारा पहचाने जाते हैं, ज्ञात पहचान वाले फ़ंक्शनों के लिए महंगे अनुमान को छोड़ सकते हैं।
  • सिंटैक्टिक नॉर्मलाइज़ेशन: LLM तक पहुँचने से पहले डीकंपाइलर आउटपुट को साफ़ किया जाता है (मॉड्यूलो पुनर्प्राप्ति, नकारात्मक शाब्दिक पुनर्निर्माण, मृत असाइनमेंट हटाना), शोर और टोकन बर्बादी को कम करना।
  • एजेंटिक डीऑबफस्केशन: कोंग एक एजेंटिक डीऑबफस्केशन पाइपलाइन का उपयोग करता है जो डीकंपाइलर आउटपुट से अस्पष्टता तकनीकों (कंट्रोल फ्लो फ़्लैटनिंग, बोगस कंट्रोल फ्लो, निर्देश प्रतिस्थापन, स्ट्रिंग एन्क्रिप्शन, VM सुरक्षा, आदि) की पहचान और हटा सकता है।
  • मूल्यांकन फ्रेमवर्क: अंतर्निहित मूल्यांकन हार्नेस जो आउटपुट को ग्राउंड-ट्रुथ स्रोत कोड के विरुद्ध स्कोर करता है, प्रतीक सटीकता (शब्द-आधारित जैकार्ड) और प्रकार सटीकता (सिग्नेचर घटक स्कोरिंग) को मापता है।
  • मल्टी-प्रोवाइडर LLM समर्थन: आउट ऑफ़ द बॉक्स Anthropic (Claude) और OpenAI (GPT-4o) के साथ काम करता है। एक इंटरैक्टिव सेटअप विज़ार्ड प्रदाताओं को कॉन्फ़िगर करता है और स्मार्ट रूटिंग स्वचालित रूप से उस प्रदाता का चयन करता है जिसके पास मान्य कुंजी है।
  • लागत-ट्रैकिंग: प्रदाताओं में प्रति मॉडल टोकन उपयोग और लागत को ट्रैक करता है, प्रदाता-जागरूक मूल्य निर्धारण के साथ।

समर्थित आर्किटेक्चर

कोंग अधिकांश Ghidra-डीकंपाइल करने योग्य बाइनरी के साथ काम करता है (अभी के लिए, और आने वाला है)।

आत्मविश्वास

उच्च: कोंग विश्वसनीय रूप से डीकंपाइल करता है, डीऑबफसकेट करता है, और नाम, प्रकार और संरचना को पुनर्प्राप्त करता है।

मध्यम: डीकंपाइलेशन उपयोग करने योग्य है लेकिन अधिक शोर वाला है। आंशिक पुनर्प्राप्ति और कम आत्मविश्वास स्कोर की अपेक्षा करें।

निम्न: डीकंपाइलेशन में महत्वपूर्ण अंतराल हैं और परिणाम अपूर्ण, शोर वाले या अपठनीय रहेंगे।

नोट: बाइनरी का आकार फ़ंक्शन गणना, LLM लागत और पूरा होने के समय के साथ सकारात्मक रूप से बढ़ता है। हालाँकि, बाइनरी का आकार आत्मविश्वास के साथ नकारात्मक रूप से भी बढ़ता है, इसलिए बड़े बाइनरी का विश्लेषण करते समय इसे ध्यान में रखें।

आर्किटेक्चर

कोंग एक पर्यवेक्षक द्वारा संचालित पाँच-चरणीय पाइपलाइन का उपयोग करता है जो ट्राइएज, समानांतर विश्लेषण और पोस्ट-प्रोसेसिंग का समन्वय करता है:

root@kitploit:~
                    ┌──────────────────────┐
                    │       Triage         │
                    │  enumerate, classify,│
                    │  build call graph,   │
                    │  match signatures    │
                    └──────────┬───────────┘
                               │
                               ▼
              ┌────────────────┼────────────────┐
              │                │                │
              ▼                ▼                ▼
     ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
     │   Analyze    │ │   Analyze    │ │     ...      │
     │  (leaf fns)  │ │ (next tier)  │ │              │
     └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
            │                │                │
            └────────┬───────┴────────────────┘
                     │
                     ▼
            ┌──────────────────────┐
            │      Cleanup         │
            │  normalize, dedupe   │
            └──────────┬───────────┘
                       │
                       ▼
            ┌──────────────────────┐
            │     Synthesis        │
            │  unify names, build  │
            │  structs, deobfuscate│
            └──────────┬───────────┘
                       │
                       ▼
            ┌──────────────────────┐
            │       Export         │
            │  analysis.json +     │
            │  Ghidra writeback    │
            └──────────────────────┘

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

ट्राइएज बाइनरी में सभी फ़ंक्शन की गणना करता है, उन्हें आकार के अनुसार वर्गीकृत करता है (तुच्छ / छोटा / मध्यम / बड़ा), कॉल ग्राफ़ बनाता है, स्रोत भाषा का पता लगाता है, और ज्ञात मानक लाइब्रेरी और क्रिप्टो फ़ंक्शन के विरुद्ध सिग्नेचर मिलान चलाता है। सिग्नेचर से मिलने वाले फ़ंक्शन को हल के रूप में चिह्नित किया जाता है और LLM विश्लेषण को पूरी तरह से छोड़ देता है।

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

सफाई विश्लेषण के दौरान संचित प्रस्तावों से स्ट्रक्ट प्रकारों को एकीकृत करता है और किसी भी फ़ंक्शन सिग्नेचर को पुनः प्रयास करता है जो विश्लेषण पास के दौरान लागू करने में विफल रहे।

सिंथेसिस सभी विश्लेषित फ़ंक्शनों में एक वैश्विक दृश्य लेता है। एक LLM कॉल सबसे अधिक जुड़े फ़ंक्शनों की समीक्षा करता है, नामकरण परंपराओं को एकीकृत करता है, फ़ील्ड एक्सेस पैटर्न से स्ट्रक्ट परिभाषाओं को संश्लेषित करता है, और उन नामों को परिष्कृत करता है जो व्यापक संदर्भ में असंगत दिखते हैं।

निर्यात अंतिम analysis.json लिखता है और सभी पुनर्प्राप्त नामों, प्रकारों और सिग्नेचर को वापस Ghidra प्रोग्राम डेटाबेस में लागू करता है।

स्टैक

  • रनटाइम: Python 3.11+, uv के साथ प्रबंधित
  • बाइनरी विश्लेषण: PyGhidra के माध्यम से Ghidra (इन-प्रोसेस, JPype)
  • LLM: Anthropic SDK (Claude) और OpenAI SDK (GPT-4o)
  • प्रतीकात्मक विश्लेषण: z3-solver
  • CLI: Click
  • TUI: Textual
  • प्रदर्शन: Rich
  • बिल्ड: hatchling
  • परीक्षण: pytest

सेटअप

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

  • Python 3.11+ — (python.org या आपका सिस्टम पैकेज मैनेजर)
  • uv — Python पैकेज मैनेजर (uv इंस्टॉल करें)
  • Ghidra — राष्ट्रीय सुरक्षा एजेंसी का रिवर्स इंजीनियरिंग फ्रेमवर्क (Ghidra इंस्टॉल करें)
  • JDK 21+ — Ghidra के लिए आवश्यक (Adoptium)
  • LLM API कुंजी — कम से कम एक:
    • Anthropic (Claude)
    • OpenAI (GPT-4o)

त्वरित प्रारंभ

root@kitploit:~
# 1. Kong इंस्टॉल करें
uv pip install kong-re

# 2. अपनी API कुंजी सेट करें
export ANTHROPIC_API_KEY="sk-ant-..."
# और/या
export OPENAI_API_KEY="sk-..."

# 3. सेटअप विज़ार्ड चलाएं (केवल पहली बार)
kong setup

# 4. बाइनरी का विश्लेषण करें
kong analyze ./path/to/stripped_binary

सेटअप विज़ार्ड आपको चुनने देता है कि किन LLM प्रदाताओं का उपयोग करना है और एक डिफ़ॉल्ट सेट करता है। Kong आपके Ghidra और JDK इंस्टॉलेशन को स्वचालित रूप से पहचानता है, बाइनरी को इन-प्रोसेस Ghidra इंस्टेंस में लोड करता है, और पूरी पाइपलाइन चलाता है।

स्रोत से

root@kitploit:~
git clone https://github.com/amruth-sn/kong.git
cd kong
uv sync
uv run kong setup
uv run kong analyze ./path/to/stripped_binary

पर्यावरण चर

उपयोग

root@kitploit:~
# सेटअप विज़ार्ड चलाएं
kong setup

# एक स्ट्रिप्ड बाइनरी का विश्लेषण करें (आपके कॉन्फ़िगर किए गए डिफ़ॉल्ट प्रदाता का उपयोग करता है)
kong analyze ./binary

# एक विशिष्ट प्रदाता के साथ विश्लेषण करें
kong analyze ./binary --provider openai

# मॉडल को ओवरराइड करें
kong analyze ./binary --provider openai --model gpt-4o-mini

# विश्लेषण चलाए बिना बाइनरी मेटाडेटा दिखाएं
kong info ./binary

# ग्राउंड-ट्रुथ स्रोत के विरुद्ध विश्लेषण आउटपुट का मूल्यांकन करें
kong eval ./analysis.json ./source.c

आउटपुट

परिणाम आउटपुट निर्देशिका में लिखे जाते हैं (डिफ़ॉल्ट: ./kong_output_{binary_name}/):

root@kitploit:~
kong_output_{binary_name}/
├── analysis.json         # सभी पुनर्प्राप्त फ़ंक्शन नाम, प्रकार, पैरामीटर
└── events.log            # पाइपलाइन निष्पादन ट्रेस

बेंचमार्क

कोंग ने स्वायत्त रूप से एक स्ट्रिप्ड liblzma.so.5.4.1 से पूर्ण XZ बैकडोर (CVE-2024-3094) किल चेन का पुनर्निर्माण किया - 15 मिनट में $6.63 की लागत पर 90-95% आत्मविश्वास के साथ सभी पाँच मुख्य इम्प्लांट फ़ंक्शन की पहचान की।

पूर्ण केस स्टडी और पुनरुत्पादन निर्देशों के लिए BENCHMARKS.md देखें।

परियोजना लेआउट

root@kitploit:~
kong/
├── __main__.py           # CLI entry point (click)
├── config.py             # KongConfig, LLMProvider, LLMConfig
├── db.py                 # SQLite config store (~/.config/kong/)
├── banner.py             # ASCII banner, API key helpers
├── agent/
│   ├── supervisor.py     # Pipeline orchestrator
│   ├── triage.py         # Function enumeration + classification
│   ├── analyzer.py       # LLM-guided function analysis
│   ├── queue.py          # BFS work queue from call graph
│   ├── signatures.py     # Known function signature matching
│   ├── prompts.py        # System prompt + output schema
│   ├── events.py         # Phase/event types for pipeline tracing
│   └── models.py         # FunctionResult dataclass
├── ghidra/
│   ├── client.py         # In-process GhidraClient (PyGhidra/JPype)
│   ├── types.py          # FunctionInfo, BinaryInfo, XRef, etc.
│   └── environment.py    # Ghidra/JDK auto-detection
├── llm/
│   ├── client.py         # AnthropicClient
│   ├── openai_client.py  # OpenAIClient
│   ├── usage.py          # TokenUsage, cost tracking, pricing registry
│   └── limits.py         # Model-specific limits + rate limiter
├── normalizer/
│   └── syntactic.py      # Decompiler output normalization
├── synthesis/
│   └── semantic.py       # Global name unification + struct synthesis
├── evals/
│   ├── harness.py        # Ground-truth extraction + scoring
│   └── metrics.py        # symbol_accuracy, type_accuracy
├── export/
│   └── source.py         # analysis.json + Ghidra writeback
├── signatures/
│   ├── stdlib.json       # C standard library signatures
│   └── crypto.json       # Cryptographic function signatures
└── tui/
    └── app.py            # Textual TUI

लाइसेंस

APACHE

Kong Apache License 2.0 के तहत लाइसेंस प्राप्त है। Kong एक मुफ्त और ओपन सोर्स प्रोजेक्ट है।

यह लाइसेंस Ghidra लाइसेंस के साथ संगत है, और व्यावसायिक उपयोग की अनुमति देता है।

योगदान

समस्याएँ और सुविधा अनुरोध GitHub Issues के माध्यम से स्वागत योग्य हैं।

साथ ही, मुझसे X या LinkedIn पर संपर्क करने में संकोच न करें!

स्वीकृतियाँ

  • Ghidra
  • PyGhidra
  • JPype
  • Anthropic SDK
  • OpenAI SDK
  • Z3
  • Textual
  • Rich

KeygraphHQ के Shannon प्रोजेक्ट को एक बड़ी सराहना, जिसने इस प्रोजेक्ट के लिए प्रेरणा प्रदान की। मेरी प्रेरणा उसी तरह की पाइपलाइन को दोहराने से प्रेरित थी जिसका उपयोग Shannon अपने वेब-आधारित पेंटेस्टिंग टूल के लिए करता है, और इसे बाइनरी विश्लेषण और डीकंपाइलेशन के लिए अनुकूलित करना।


बंदर से डरो।


कोंग
कोंग: दुनिया का पहला AI रिवर्स इंजीनियर

टूल डाउनलोड करें
CC++GoRust
x86उच्चउच्चमध्यममध्यम
x86-64उच्चउच्चमध्यममध्यम
ARM (32-bit)उच्चउच्चमध्यमनिम्न
AArch64उच्चउच्चमध्यमनिम्न
MIPSमध्यममध्यमनिम्ननिम्न
PowerPCमध्यममध्यमनिम्ननिम्न
VariableRequiredविवरण
ANTHROPIC_API_KEYकम से कम एकAnthropic API कुंजी (Claude)
OPENAI_API_KEYकम से कम एकOpenAI API कुंजी (GPT-4o)
GHIDRA_INSTALL_DIRनहींGhidra इंस्टॉलेशन का पथ (सेट नहीं होने पर स्वचालित रूप से पता लगाया जाता है)
JAVA_HOMEनहींJDK का पथ (सेट नहीं होने पर स्वचालित रूप से पता लगाया जाता है)
KONG_CONFIG_DIRनहींकॉन्फ़िग निर्देशिका को ओवरराइड करें (डिफ़ॉल्ट: ~/.config/kong)