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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
KeyPatchX — KeyPatch Enhanced — Keystone Engine द्वारा संचालित, symbol-aware x86/x64 assembly patching के लिए IDA Pro plugin। स्वचालित IDA symbol resolution, RIP-relative encoding, और _↔. name correction के साथ Keypatch का fork। | Kitploit
उपकरण/GitHubGitHub/gmh5225/keypatchx
स्थैतिक विश्लेषणशोषणरिवर्स इंजीनियरिंगडीबगर्सउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषणबाइनरी शोषण
GitHubgmh5225/keypatchx

KeyPatchX

KeyPatch Enhanced — Keystone Engine द्वारा संचालित, symbol-aware x86/x64 assembly patching के लिए IDA Pro plugin। स्वचालित IDA symbol resolution, RIP-relative encoding, और _↔. name correction के साथ Keypatch का fork।

रिपॉजिटरी देखें
927 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

KeyPatch Enhanced — IDA Pro सिंबल-जागरूक असेंबली प्लगइन

Keypatch (by Nguyen Anh Quynh & Thanh Nguyen) पर आधारित एक उन्नत शाखा, जिसे Euarno द्वारा संशोधित किया गया है।

मुख्य सुधार: x86/x64 असेंबली में सीधे IDA सिंबल नामों का उपयोग करें, प्लगइन स्वचालित रूप से पते को हल करता है और सही RIP-relative / rel32 एन्कोडिंग उत्पन्न करता है।


नई सुविधाएँ

1. सीधे सिंबल नामों का उपयोग करके असेंबल करें

Keypatch डायलॉग बॉक्स में सीधे सिंबल नामों के साथ निर्देश दर्ज करें, मैन्युअल रूप से पते और ऑफ़सेट की गणना करने की आवश्यकता नहीं:

call rc4_crypt          ; स्वचालित रूप से rel32 सापेक्ष ऑफ़सेट की गणना करता है
jmp  main               ; उपरोक्त के समान
lea  rcx, enc_0         ; x64: स्वचालित रूप से lea rcx, [rip + disp32] उत्पन्न करता है
lea  rax, Format         ; उपरोक्त के समान

2. IDA नाम स्वचालित सुधार (_ ↔ .)

IDA कभी-कभी डेटाबेस में . को _ के रूप में प्रदर्शित करता है (उदाहरण के लिए enc.0 को enc_0 के रूप में दिखाता है)। प्लगइन स्वचालित रूप से _ → . के वेरिएंट की खोज करता है, IDA के आंतरिक स्टोरेज प्रारूप की चिंता करने की आवश्यकता नहीं।

3. समर्थित निर्देश प्रकार

प्रकारउदाहरणप्रसंस्करण विधि
CALL / JMP / Jcccall func_nameसिंबल → पूर्ण पता, Keystone rel32 की गणना करता है
LEA (नंगा सिंबल)lea rcx, symbolx64: → lea rcx, [rip + disp32]
x86: → lea ecx, [addr]
LEA (मिश्रित ऑपरेंड)lea rcx, [rbp+0x120+Str]केवल सिंबल को पते के मान से बदलें, अभिव्यक्ति संरचना को बनाए रखें
MOV offsetmov rax, offset symbolx64: lea rax, [rip + disp32] में परिवर्तित करें
सीमा से बाहर होने पर mov rax, imm64 का उपयोग करें
मेमोरी एक्सेस [symbol]mov rax, qword ptr [symbol][symbol] → [0xADDR], Keystone स्वचालित रूप से एन्कोड करता है
तत्काल सिंबलpush symbolसिंबल → 0xADDR

4. उन्नत त्रुटि संदेश

असेंबली विफल होने पर, आउटपुट विंडो प्रदर्शित करेगी:

Keypatch: Keystone error: Invalid operand (KS_ERR_ASM_INVALIDOPERAND)
Keypatch:   input asm  : lea rcx, [rip + 0x176E3]
Keypatch:   fixed asm  : LEA RCX, [RIP + 0x176E3]
Keypatch:   address    : 0x140001966

स्थापना

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

  • IDA Pro 7.0+
  • Keystone Engine Python बाइंडिंग
pip install keystone-engine

प्लगइन स्थापित करें

keypatch.py को IDA की प्लगइन निर्देशिका में कॉपी करें:

सिस्टमपथ
Windows%APPDATA%\Hex-Rays\IDA Pro\plugins\ या <IDA安装目录>\plugins\
macOS~/.idapro/plugins/ या <IDA安装目录>/plugins/
Linux~/.idapro/plugins/ या <IDA安装目录>/plugins/

IDA को पुनः आरंभ करें।


उपयोग विधि

Patcher खोलें

  • मेनू: Edit → Keypatch → Patcher
  • शॉर्टकट: Ctrl + Alt + K
  • राइट-क्लिक मेनू: Keypatch → Patcher

बुनियादी कार्यप्रवाह

  1. IDA डिसअसेंबली विंडो में, कर्सर को लक्ष्य पते पर रखें
  2. Ctrl + Alt + K दबाकर Patcher खोलें
  3. Assembly फ़ील्ड में निर्देश दर्ज करें (IDA सिंबल नामों का उपयोग किया जा सकता है)
  4. Encoding फ़ील्ड देखकर पुष्टि करें कि एन्कोडिंग सही है
  5. Patch पर क्लिक करके संशोधन लागू करें

उदाहरण: Hook फ़ंक्शन कॉल

मान लें कि आप 0x140001966 पर rc4_crypt पर जाने वाला एक जंप patch करना चाहते हैं:

Assembly: call rc4_crypt

प्लगइन स्वचालित रूप से rc4_crypt के पते को हल करता है, rel32 ऑफ़सेट की गणना करता है, और सही E8 xx xx xx xx एन्कोडिंग उत्पन्न करता है।

उदाहरण: डेटा पता लोड करें

Assembly: lea rcx, enc_0

प्लगइन स्वचालित रूप से:

  1. enc_0 को हल करता है (आंतरिक नाम enc.0 हो सकता है) → पता 0x140013050
  2. RIP-relative ऑफ़सेट की गणना करता है disp32 = 0x140013050 - (0x140001966 + 7)
  3. lea rcx, [rip + 0x176E3] उत्पन्न करता है
  4. Keystone को मशीन कोड में एन्कोड करने के लिए पास करता है

भरण सीमा (Fill Range)

  1. डिसअसेंबली विंडो में एक पता सीमा चुनें
  2. Ctrl + Alt + K दबाकर Fill Range खोलें
  3. निर्देश दर्ज करें (जैसे nop), स्वचालित रूप से पूरी सीमा भर जाएगी

पूर्ववत करें

  • मेनू: Edit → Keypatch → Undo last patching

सावधानियाँ

  • RIP-relative सीमा प्रतिबंध: lea और [symbol] की RIP-relative एड्रेसिंग सीमा ±2GB है। यदि सिंबल सीमा से बाहर है, तो प्लगइन त्रुटि संदेश देगा।
  • x64 तत्काल सीमा: x64 में push symbol के लिए, सिंबल पता ≤ 0x7FFFFFFF होना चाहिए (imm32 साइन एक्सटेंशन), अन्यथा चेतावनी दी जाएगी। lea reg, symbol + push reg का उपयोग करने की सलाह दी जाती है।
  • सेमीकोलन बहु-कथन: lea rcx, sym; call func रूप के बहु-कथन सिंबल रिज़ॉल्यूशन का समर्थन अभी नहीं है। कृपया एक-एक करके patch करें।

मूल परियोजना

  • मूल लेखक: Nguyen Anh Quynh (@aquynh) & Thanh Nguyen
  • मूल परियोजना: keystone-engine/keypatch
  • मूल लाइसेंस: GPL v2
  • परियोजना होमपेज: http://keystone-engine.org/keypatch
  • Keystone Engine: http://www.keystone-engine.org

संशोधक

  • Euarno — IDA सिंबल स्वचालित रिज़ॉल्यूशन सुविधा, _ ↔ . नाम सुधार, x64 RIP-relative एन्कोडिंग समर्थन, उन्नत त्रुटि आउटपुट

लाइसेंस

यह संशोधित संस्करण MIT लाइसेंस के अंतर्गत जारी किया गया है। विवरण के लिए LICENSE फ़ाइल देखें।

मूल Keypatch कोड का कॉपीराइट मूल लेखकों के पास है, जो GPL v2 के अंतर्गत जारी किया गया है।

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