Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Gepetto — IDA प्लगइन जो रिवर्स-इंजीनियरिंग को गति देने के लिए भाषा मॉडल से पूछताछ करता है | Kitploit
उपकरण/GitHubGitHub/justicerage/gepetto
कोड विश्लेषणरिवर्स इंजीनियरिंगबाइनरी विश्लेषणमशीन लर्निंगAI-सहायित रिवर्सिंग
GitHubjusticerage/gepetto

Gepetto

IDA प्लगइन जो रिवर्स-इंजीनियरिंग को गति देने के लिए भाषा मॉडल से पूछताछ करता है

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

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

सभी देखें →

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

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

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

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

Gepetto

Gepetto एक Python प्लगइन है जो IDA Pro (≥ 7.6) द्वारा डीकंपाइल किए गए फ़ंक्शंस को अर्थ प्रदान करने के लिए विभिन्न बड़े भाषा मॉडल का उपयोग करता है। यह उनका उपयोग यह समझाने के लिए कर सकता है कि कोई फ़ंक्शन क्या करता है, और उसके वेरिएबल्स का स्वचालित रूप से नाम बदलने के लिए भी। यहाँ एक सरल उदाहरण दिया गया है कि यह कुछ ही सेकंड में क्या परिणाम प्रदान कर सकता है:

सेटअप

hcli का उपयोग करना (अनुशंसित)

Gepetto को इंस्टॉल करने का सबसे आसान तरीका Hex-Rays CLI टूल (hcli) का उपयोग करना है:

pip install ida-hcli
hcli plugin install gepetto

यह स्वचालित रूप से प्लगइन को आपकी IDA उपयोगकर्ता निर्देशिका में इंस्टॉल कर देगा।

मैन्युअल इंस्टॉलेशन

वैकल्पिक रूप से, आप प्लगइन को मैन्युअल रूप से इंस्टॉल कर सकते हैं:

  1. इस स्क्रिप्ट (gepetto.py, साथ ही gepetto/ फ़ोल्डर) को अपने IDA प्लगइन्स फ़ोल्डर ($IDAUSR/plugins) में डालें।
  2. प्लगइन्स निर्देशिका का स्थान आपके सिस्टम पर निर्भर करता है:
    • Windows: %APPDATA%\Hex-Rays\IDA Pro\plugins\
    • macOS: ~/.idapro/plugins/
    • Linux: ~/.idapro/plugins/
  3. आवश्यक पैकेज IDA के Python इंस्टॉलेशन में इंस्टॉल करें। निम्नलिखित रजिस्ट्री कुंजी की जाँच करके पता लगाएँ कि IDA कौन सा इंटरप्रेटर उपयोग कर रहा है: Computer\HKEY_CURRENT_USER\Software\Hex-Rays\IDA (Windows पर डिफ़ॉल्ट: %LOCALAPPDATA%\Programs\Python\Python39)।
  4. संबंधित इंटरप्रेटर के साथ, बस चलाएँ:
    [/path/to/python] -m pip install -r requirements.txt
    

कॉन्फ़िगरेशन

Gepetto अपना कॉन्फ़िगरेशन आपकी IDA उपयोगकर्ता निर्देशिका में रखता है, ताकि यह प्लगइन अपग्रेड के बाद भी बना रहे:

  • Windows: %APPDATA%\Hex-Rays\IDA Pro\cfg\gepetto\config.ini
  • macOS / Linux: ~/.idapro/cfg/gepetto/config.ini

प्लगइन पहली बार चलने पर gepetto/config.ini को वहाँ कॉपी करता है और कंसोल पर आपको पथ बताता है। उसके बाद, प्लगइन के साथ भेजी गई प्रति केवल एक टेम्पलेट है — अपनी उपयोगकर्ता निर्देशिका में मौजूद प्रति को संपादित करें। स्थान को पूरी तरह ओवरराइड करने के लिए GEPETTO_CONFIG_DIR सेट करें।

उस फ़ाइल में अपनी API कुंजियाँ जोड़ें, या उन्हें उसमें नामित पर्यावरण चरों के माध्यम से प्रदान करें। OpenAI के लिए, कुंजी इस पृष्ठ पर बनाई जा सकती है। कृपया ध्यान दें कि API क्वेरी आमतौर पर मुफ़्त नहीं होती हैं (हालाँकि बहुत महँगी भी नहीं) और आपको संबंधित प्रदाता के साथ भुगतान विधि सेट अप करनी होगी।

समर्थित मॉडल

  • Anthropic
    • claude-opus-4-7
    • claude-sonnet-4-6
    • claude-haiku-4-5
  • OpenAI
    • gpt-5
    • gpt-5-mini
    • gpt-5-nano
    • gpt-4-turbo
    • gpt-4o
    • o4-mini
    • gpt-4.1
    • o3
    • o3-pro
  • Google Gemini
    • gemini-2.0-flash
    • gemini-2.5-pro
    • gemini-2.5-flash
    • gemini-2.5-flash-lite-preview-06-17
  • Azure OpenAI
    • gpt-35-turbo
    • gpt-35-turbo-1106
    • gpt-35-turbo-16k
    • gpt-4-turbo
    • gpt-4-turbo-2024-0409-gs
  • Ollama
    • Ollama के माध्यम से उपलब्ध कोई भी स्थानीय मॉडल (यदि Ollama नहीं चल रहा है तो दिखाई नहीं देगा)
  • Groq
    • llama-3.1-70b-versatile
    • llama-3.2-90b-text-preview
    • mixtral-8x7b-32768
  • Together
    • mistralai/Mixtral-8x22B-Instruct-v0.1 (चरों का नाम बदलने का समर्थन नहीं करता)
  • Novita AI
    • deepseek/deepseek-r1
    • deepseek/deepseek-v3
    • meta-llama/llama-3.3-70b-instruct
    • meta-llama/llama-3.1-70b-instruct
    • meta-llama/llama-3.1-405b-instruct
  • Kluster.ai
    • deepseek-ai/DeepSeek-R1
    • deepseek-ai/DeepSeek-V3-0324
    • google/gemma-3-27b-it
    • klusterai/Meta-Llama-3.1-8B-Instruct-Turbo
    • klusterai/Meta-Llama-3.1-405B-Instruct-Turbo
    • klusterai/Meta-Llama-3.3-70B-Instruct-Turbo
    • meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
    • meta-llama/Llama-4-Scout-17B-16E-Instruct
    • Qwen/Qwen2.5-VL-7B-Instruct
  • LM Studio
    • LM Studio के माध्यम से उपलब्ध कोई भी स्थानीय मॉडल (यदि LM Studio Developer सर्वर नहीं चल रहा है तो दिखाई नहीं देगा)

अपना स्वयं का प्रदाता जोड़ना

Gepetto तीन स्थानों से प्रदाताओं को लोड करता है, मेनू नाम के टकराव पर प्रत्येक पिछले को ओवरराइड करता है: gepetto/models/ में भेजे गए मॉड्यूल, फिर $IDAUSR/cfg/gepetto/providers/ में कोई भी .py फ़ाइल, फिर कोई भी इंस्टॉल किया गया वितरण जो gepetto.providers एंट्री पॉइंट का विज्ञापन करता है। ओवरराइड की घोषणा कंसोल पर की जाती है, ताकि आप प्लगइन को फ़ोर्क किए बिना किसी अंतर्निहित प्रदाता को बदल सकें।

एक ड्रॉप-इन प्रदाता बिल्कुल वही अनुबंध उपयोग करता है जो एक अंतर्निहित प्रदाता करता है। OpenAI-संगत एंडपॉइंट के लिए, पूरी फ़ाइल यह है:

import openai
import gepetto.config
import gepetto.models.model_manager
from gepetto.models.openai import GPT


class MyProvider(GPT):
    @staticmethod
    def get_menu_name() -> str:
        return "MyProvider"

    @staticmethod
    def supported_models():
        return ["my-model-v1"]

    @staticmethod
    def is_configured_properly() -> bool:
        return bool(gepetto.config.get_config("MyProvider", "API_KEY", "MYPROVIDER_API_KEY"))

    def __init__(self, model):
        try:
            super().__init__(model)
        except ValueError:
            pass  # No OpenAI key needed for this provider.
        self.model = model
        self.client = openai.OpenAI(
            api_key=gepetto.config.get_config("MyProvider", "API_KEY", "MYPROVIDER_API_KEY"),
            base_url="https://api.example.com/v1",
        )


gepetto.models.model_manager.register_model(MyProvider)

अपने config.ini में एक मेल खाता [MyProvider] अनुभाग जोड़ें और IDA को पुनः आरंभ करें: प्रदाता लोड होने के समय पंजीकृत होते हैं, इसलिए किसी नई कुंजी या नई फ़ाइल को मेनू में दिखाई देने से पहले पुनः आरंभ की आवश्यकता होती है।

इसके बजाय इसे एक पैकेज के रूप में वितरित करने के लिए, क्लास या एक register(register_model) कॉल करने योग्य (callable) को उजागर करें:

[project.entry-points."gepetto.providers"]
myprovider = "myprovider:MyProvider"

providers/ में मौजूद फ़ाइलें IDA शुरू होने पर मनमाना Python निष्पादित करती हैं। यह विश्वास का स्तर किसी भी IDA प्लगइन के समान ही है, लेकिन केवल उन्हीं providers को इंस्टॉल करें जिन पर आप भरोसा करते हैं।

उपयोग

एक बार प्लगइन ठीक से इंस्टॉल हो जाने के बाद, आप इसे IDA की pseudocode विंडो के context menu से लॉन्च कर सकते हैं, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है:

Edit > Gepetto मेनू से Gepetto द्वारा समर्थित मॉडलों के बीच स्विच करें:

Gepetto एक CLI इंटरफ़ेस भी प्रदान करता है जिसका उपयोग आप सीधे IDA से LLM से प्रश्न पूछने के लिए कर सकते हैं। सुनिश्चित करें कि input bar में Gepetto चयनित हो:

हॉटकी

निम्नलिखित हॉटकी उपलब्ध हैं:

  • मॉडल से फ़ंक्शन को समझाने के लिए कहें: Ctrl + Alt + G
  • मॉडल से कोड में टिप्पणियाँ जोड़ने के लिए कहें: Ctrl + Alt + K
  • फ़ंक्शन के वेरिएबल्स के लिए बेहतर नामों का अनुरोध करें: Ctrl + Alt + R

प्रारंभिक परीक्षण से पता चलता है कि बेहतर नामों का अनुरोध करना तब बेहतर काम करता है जब आप पहले फ़ंक्शन की व्याख्या मांगते हैं – मेरा अनुमान है कि ऐसा इसलिए है क्योंकि तब मॉडल अधिक सटीक सुझाव देने के लिए अपनी ही टिप्पणी का उपयोग करता है। AI के उत्तरों में यादृच्छिकता का एक तत्व होता है। यदि किसी कारणवश आपको प्राप्त प्रारंभिक उत्तर उपयुक्त न लगे, तो आप हमेशा कमांड को फिर से चला सकते हैं।

सीमाएँ

  • प्लगइन को कार्य करने के लिए HexRays decompiler तक पहुँच की आवश्यकता होती है।
  • सभी समर्थित LLM सामान्य-उद्देश्यीय हैं और गलतियाँ कर सकते हैं! लौटाए गए परिणामों के प्रति हमेशा आलोचनात्मक रहें!

अनुवाद

टूल डाउनलोड करें