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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ret-sync — ret-sync एक प्लगइन्स का सेट है जो डिबगिंग सत्र (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) को IDA/Ghidra/Binary Ninja डिसअसेंबलरों के साथ सिंक्रोनाइज़ करने में मदद करता है। | Kitploit
उपकरण/GitHubGitHub/bootleg/ret-sync
गतिशील विश्लेषण (सैंडबॉक्सिंग)रिवर्स इंजीनियरिंगडीबगर्सउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषण
GitHubbootleg/ret-sync

ret-sync

ret-sync एक प्लगइन्स का सेट है जो डिबगिंग सत्र (WinDbg/GDB/LLDB/OllyDbg2/x64dbg) को IDA/Ghidra/Binary Ninja डिसअसेंबलरों के साथ सिंक्रोनाइज़ करने में मदद करता है।

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

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

सभी देखें →

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

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

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

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

ret-sync

ret-sync का मतलब Reverse-Engineering Tools SYNChronization है। यह प्लगइन्स का एक सेट है जो डिबगिंग सत्र (WinDbg/GDB/LLDB/OllyDbg/OllyDbg2/x64dbg) को डिसअसेंबलर (IDA/Ghidra/Binary Ninja) के साथ सिंक्रोनाइज़ करने में मदद करता है। मूल विचार सरल है: दोनों दुनियाओं (स्थैतिक और गतिशील विश्लेषण) से सर्वश्रेष्ठ लेना।

डीबगर्स और गतिशील विश्लेषण हमें प्रदान करते हैं:

  • स्थानीय दृश्य, लाइव गतिशील संदर्भ (रजिस्टर, मेमोरी, आदि) के साथ
  • अंतर्निहित विशेष सुविधाएँ/API (उदा. WinDbg का !peb, !drvobj, !address, आदि)

डिसअसेंबलर और स्थैतिक विश्लेषण हमें प्रदान करते हैं:

  • मॉड्यूल पर मैक्रो दृश्य
  • कोड विश्लेषण, हस्ताक्षर, प्रकार, आदि.
  • फैंसी ग्राफ़ दृश्य
  • डीकंपिलेशन
  • IDBs/GPRs के भीतर ज्ञान का स्थायी भंडारण

मुख्य विशेषताएं:

  • डीबगर की स्थिति के साथ ग्राफ़ और डीकंपिलेशन दृश्यों को सिंक्रोनाइज़ करें
  • ASLR से निपटने की आवश्यकता नहीं, पतों को फ्लाई पर रीबेस किया जाता है
  • डीबगर से डिसअसेंबलर में डेटा (टिप्पणी, कमांड आउटपुट) पास करें
  • एक ही समय में कई IDBs/GPRs को सिंक किया जा सकता है जिससे कई मॉड्यूल के माध्यम से आसानी से ट्रेस किया जा सकता है
  • डिसअसेंबलर और डीबगर अलग-अलग होस्ट/VM पर हो सकते हैं

ret-sync qb-sync का एक फ़ोर्क है जिसे मैंने Quarkslab में अपने प्रवास के दौरान विकसित और रखरखाव किया था।


विषय-सूची

  • रिपॉजिटरी सामग्री
  • सामान्य पूर्वापेक्षाएँ
  • बाइनरी रिलीज़
  • ret-sync कॉन्फ़िगरेशन
  • स्थापना
    • IDA एक्सटेंशन
    • Ghidra एक्सटेंशन
    • Binary Ninja एक्सटेंशन
    • WinDbg एक्सटेंशन
    • GNU gdb (GDB) स्थापना
    • LLDB स्थापना
    • OllyDbg 1.10 स्थापना
    • OllyDbg2 स्थापना
    • x64dbg स्थापना
  • उपयोग
    • ret-sync डीबगर कमांड
    • IDA उपयोग
    • Ghidra उपयोग
    • Binary Ninja उपयोग
    • WinDbg उपयोग
    • GNU gdb (GDB) उपयोग
    • LLDB उपयोग
    • OllyDbg 1.10 उपयोग
    • OllyDbg2 उपयोग
    • x64dbg उपयोग
    • पायथन लाइब्रेरी उपयोग
  • विस्तार करें
  • करने के लिए
  • ज्ञात बग/सीमाएँ
  • लाइसेंस
  • शुक्रिया

रिपॉजिटरी सामग्री

डीबगर प्लगइन्स:

  • ext_windbg/sync: WinDbg एक्सटेंशन स्रोत फ़ाइलें, निर्माण के बाद: sync.dll
  • ext_gdb/sync.py: GDB प्लगइन
  • ext_lldb/sync.py: LLDB प्लगइन
  • ext_olly1: OllyDbg 1.10 प्लगइन
  • ext_olly2: OllyDbg v2 प्लगइन
  • ext_x64dbg: x64dbg प्लगइन

डिसअसेंबलर प्लगइन्स:

  • ext_ida/SyncPlugin.py
  • ext_ghidra/dist/ghidra_*_retsync.zip: Ghidra प्लगइन
  • ext_bn/retsync: Binary Ninja प्लगइन

और लाइब्रेरी प्लगइन:

  • ext_lib/sync.py: स्वतंत्र पायथन लाइब्रेरी

सामान्य पूर्वापेक्षाएँ

IDA और GDB प्लगइन्स को एक मान्य पायथन सेटअप की आवश्यकता होती है। पायथन 2 (>=2.7) और पायथन 3 समर्थित हैं।

बाइनरी रिलीज़

WinDbg/OllyDbg/OllyDbg2/x64dbg डीबगर्स के लिए पूर्व-निर्मित बाइनरी एक Azure DevOps पाइपलाइन के माध्यम से प्रस्तावित हैं: बिल्ड स्थिति

अंतिम बिल्ड चुनें और Related अनुभाग के अंतर्गत आर्टिफैक्ट्स की जाँच करें: 6 प्रकाशित।

Ghidra प्लगइन का एक पूर्व-निर्मित प्लगइन आर्काइव ext_ghidra/dist में प्रदान किया गया है।

ret-sync कॉन्फ़िगरेशन

ret-sync अधिकांश उपयोगकर्ताओं के लिए एक सामान्य सेटअप के साथ बॉक्स के बाहर काम करना चाहिए: डीबगर और डिसअसेंबलर एक ही होस्ट पर, मॉड्यूल नाम मेल खाते हैं।

फिर भी, कुछ परिदृश्यों में एक विशिष्ट कॉन्फ़िगरेशन का उपयोग किया जा सकता है। इसके लिए, एक्सटेंशन और प्लगइन्स उपयोगकर्ता की होम डायरेक्टरी में एक वैकल्पिक वैश्विक कॉन्फ़िगरेशन फ़ाइल .sync की जाँच करते हैं। यह एक मान्य .INI फ़ाइल होनी चाहिए।

इसके अतिरिक्त, IDA और Ghidra प्लगइन्स पहले IDB या प्रोजेक्ट डायरेक्टरी (<project>.rep) में कॉन्फ़िगरेशन फ़ाइल की तलाश करते हैं ताकि स्थानीय, प्रति-IDB/प्रोजेक्ट सेटिंग्स की अनुमति मिल सके। यदि कोई स्थानीय कॉन्फ़िगरेशन फ़ाइल मौजूद है, तो वैश्विक कॉन्फ़िगरेशन फ़ाइल को अनदेखा कर दिया जाता है।

इन कॉन्फ़िगरेशन फ़ाइलों में घोषित मान डिफ़ॉल्ट मानों को ओवरराइड करते हैं। कृपया ध्यान दें, कि डिफ़ॉल्ट रूप से कोई .sync फ़ाइल नहीं बनाई जाती है।

नीचे हम तीन सामान्य परिदृश्यों का विवरण देते हैं जहाँ एक कॉन्फ़िगरेशन फ़ाइल उपयोगी/आवश्यक है:

  • रिमोट डीबगिंग
  • मॉड्यूल नामों का बेमेल
  • लापता PID

रिमोट डीबगिंग: डीबगर और डिसअसेंबलर अलग-अलग होस्ट पर हैं

[INTERFACE] सेक्शन का उपयोग नेटवर्क संबंधी सेटिंग्स को अनुकूलित करने के लिए किया जाता है। मान लीजिए कि कोई IDA को एक वर्चुअल मशीन (या बस दूसरे होस्ट) के अंदर चल रहे डीबगर के साथ सिंक्रोनाइज़ करना चाहता है, जो सामान्य रिमोट कर्नेल डीबगिंग परिदृश्य है।

बस दो .sync फ़ाइल बनाएँ:

  • एक उस मशीन पर जहाँ IDA स्थापित है, IDB डायरेक्टरी में:
  • Ghidra के लिए, होम डायरेक्टरी में रखें, उदा. "/home/user" या "C:\Users\user"।``` [INTERFACE] host=192.168.128.1 port=9234
यह **ret-sync** ``IDA`` प्लगइन को इंटरफ़ेस ``192.168.128.1`` पर पोर्ट ``9234`` के साथ सुनने का निर्देश देता है। यह कहने की आवश्यकता नहीं है कि यह इंटरफ़ेस रिमोट होस्ट या वर्चुअल मशीन से पहुँच योग्य होना चाहिए।

* एक उस मशीन पर जहाँ डीबगर निष्पादित किया जाता है, उपयोगकर्ता की होम निर्देशिका में:```
[INTERFACE]
host=192.168.128.1
port=9234

यह ret-sync डीबगर प्लगइन को पहले से कॉन्फ़िगर किए गए ret-sync IDA प्लगइन से इस इंटरफ़ेस पर सुनने के लिए कनेक्ट करने का निर्देश देता है।

नोट: आपको यहाँ एक वास्तविक IP निर्दिष्ट करना होगा, न कि 0.0.0.0 का उपयोग करना। ऐसा इसलिए है क्योंकि वेरिएबल का उपयोग कई स्रोतों द्वारा बाइंडिंग और कनेक्टिंग दोनों के लिए किया जाता है, इसलिए 0.0.0.0 का उपयोग करने से अजीब त्रुटियाँ होंगी।

IDB और डीबगर मॉड्यूल के नाम अलग हैं```

[ALIASES] ntoskrnl_vuln.exe=ntkrnlmp.exe

The ``[ALIASES]`` अनुभाग का उपयोग उस नाम को अनुकूलित करने के लिए किया जाता है जो एक डिस्सेम्बलर (IDA/Ghidra) द्वारा किसी मॉड्यूल को उसके डिस्पैचर/प्रोग्राम प्रबंधक में पंजीकृत करने के लिए उपयोग किया जाता है।

डिफ़ॉल्ट रूप से, डिस्सेम्बलर प्लगइन्स इनपुट फ़ाइल का नाम उपयोग करते हैं। हालांकि, हो सकता है कि किसी ने फ़ाइल का पहले से नाम बदल दिया हो और वह डीबगर द्वारा देखे गए वास्तविक प्रक्रिया या लोड किए गए मॉड्यूल के नाम से मेल न खाता हो।

यहाँ हम डिस्पैचर को बस यह बताते हैं कि `ntkrnlmp.exe` (वास्तविक नाम) का मिलान करें, न कि `ntoskrnl_vuln.exe` (IDB नाम) का।


## Qt Creator डिबगिंग फ्रंटएंड के साथ gdb

Qt Creator डिबगिंग फ्रंटएंड gdb कमांड आउटपुट के लॉग होने के तरीके को बदल देता है। चूंकि यह सिंक्रोनाइज़ेशन में हस्तक्षेप करेगा, इसलिए एक विकल्प मौजूद है जो अस्थायी फ़ाइल के बजाय सिंक्रोनाइज़ेशन के लिए रॉ gdb आउटपुट का उपयोग करता है। .sync कॉन्फ़िगरेशन फ़ाइल में उपयोग करें```
[GENERAL]
use_tmp_logging_file=false

यदि आप लक्ष्य के लिए Qt डिबगिंग फ्रंटएंड का उपयोग करना चाहते हैं।

एम्बेडेड उपकरण और लापता /proc/<pid>/maps

कुछ परिदृश्यों में, जैसे कि सीरियल या QEMU में रॉ फर्मवेयर पर एम्बेडेड उपकरणों को डीबग करना, gdb PID से अवगत नहीं होता है और /proc/<pid>/maps तक पहुँच नहीं सकता है।

इन मामलों में, [INIT] अनुभाग का उपयोग प्लगइन को एक कस्टम कॉन्टेक्स्ट पास करने के लिए किया जाता है। यह PID और मेमोरी मैपिंग जैसे कुछ फ़ील्ड को ओवरराइड करने की अनुमति देता है।

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