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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
r2gopclntabParser — एक radare2 स्क्रिप्ट जो gopclntab को पार्स करके Go बाइनरी के रिवर्स इंजीनियरिंग को सुविधाजनक बनाती है। | Kitploit
उपकरण/GitHubGitHub/asherdll/r2gopclntabparser
स्थैतिक विश्लेषणरिवर्स इंजीनियरिंगडीबगर्सफोरेंसिकमालवेयर विश्लेषणबाइनरी विश्लेषण
GitHubasherdll/r2gopclntabparser

r2gopclntabParser

एक radare2 स्क्रिप्ट जो gopclntab को पार्स करके Go बाइनरी के रिवर्स इंजीनियरिंग को सुविधाजनक बनाती है।

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

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

सभी देखें →

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

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

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

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

r2gopclntabParser

नोट: यह सुविधा सीधे radare2 के कोर में gopc analysis plugin के रूप में लागू की गई है।

Go बाइनरीज़ से फंक्शन सिंबल पुनर्प्राप्त करने के लिए एक radare2-आधारित Go gopclntab पार्सर, जिसमें पूरी तरह से स्ट्रिप किए गए बाइनरी भी शामिल हैं। ELF, Mach-O, और PE बाइनरी को Go संस्करण 1.2, 1.16, 1.18, और 1.20+ में सपोर्ट करता है।

प्रत्येक Go 1.2+ बाइनरी में gopclntab (Program Counter Line Table) नामक एक डेटा क्षेत्र एम्बेड होता है जिसका उपयोग Go रनटाइम स्टैक ट्रेस, पैनिक संदेश, गार्बेज कलेक्शन और डीबगर सपोर्ट के लिए करता है। यह Go बाइनरी में सिंबल जानकारी के सबसे मूल्यवान स्रोतों में से एक है।

r2gopclntabParser radare2 के माध्यम से इस क्षेत्र को पढ़ता है, संस्करण-विशिष्ट संरचनाओं को पार्स करता है, और या तो पुनर्प्राप्त फंक्शन सूची (पतों, स्रोत फ़ाइलों और लाइन नंबरों के साथ) प्रिंट करता है या पुनर्प्राप्त नामों को फंक्शन परिभाषाओं, फ्लैग्स और टिप्पणियों के रूप में खुले radare2 सत्र में वापस लागू करता है।


विषय सूची

  • पूर्वापेक्षाएँ
  • त्वरित आरंभ
  • CLI संदर्भ
  • आउटपुट मोड और उदाहरण
    • डिफ़ॉल्ट मोड (शीर्षक + फंक्शन सूची)
    • विस्तृत मोड (-v)
    • खोज मोड (-n)
    • JSON आउटपुट (--json)
    • स्रोत फ़ाइल सूची (--files)
    • लागू मोड (--apply)
  • परिणाम सारांश: Mach-O (स्ट्रिप्ड टेस्ट बाइनरी)
  • PE परीक्षण: Greenblood, एक Go Ransomware बाइनरी
  • रिवर्स इंजीनियरिंग के लिए उपयोग के मामले
  • समर्थित प्लेटफ़ॉर्म और Go संस्करण
  • पद्धति
    • सेक्शन स्थान रणनीति
    • textStart बनाम .text सेक्शन
    • संस्करण-जागरूक संरचना पार्सिंग
    • PC डेटा डिकोडिंग
  • सीमाएँ
  • अतिरिक्त दस्तावेज़ीकरण
  • संदर्भ

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

निर्भरतान्यूनतम संस्करण
Python 33.8+
radare25.0+ (6.0.9 पर परीक्षित)
r2pipeकोई भी

किसी अन्य Python पैकेज की आवश्यकता नहीं है। स्क्रिप्ट केवल मानक लाइब्रेरी (struct, json, argparse, os, sys) और r2pipe का उपयोग करती है।


त्वरित आरंभ```bash

List all functions recovered from a Go binary

python3 r2_gopclntab.py -f ./mybinary -l

Search for a specific function (substring match)

python3 r2_gopclntab.py -f ./mybinary -n main.main

Verbose header + function list

python3 r2_gopclntab.py -f ./mybinary -v -l

Apply recovered names into an r2 session

python3 r2_gopclntab.py -f ./mybinary --apply

JSON output

python3 r2_gopclntab.py -f ./mybinary --json

From within r2 (attach to running session)

#!pipe python3 r2_gopclntab.py --r2pipe --apply -v

## CLI संदर्भ```
usage: r2_gopclntab.py [-h] [-f FILE] [-n FUNCNAME] [-v] [-l]
                       [--apply] [--json] [--files] [--r2pipe]

Required (one of)

FlagDescription
-f FILE, --file FILEविश्लेषण करने के लिए Go बाइनरी का पथ। स्क्रिप्ट अपना स्वयं का r2 उदाहरण शुरू करती है।
--r2pipeपहले से चल रहे r2 सत्र से जुड़ें (r2 कंसोल के अंदर उपयोग के लिए)।

Optional

FlagDescription
-l, --listप्रत्येक पुनर्प्राप्त फ़ंक्शन को उसके पते के साथ प्रिंट करें।
-n NAME, --funcname NAMEकेवल उन फ़ंक्शनों को प्रिंट करें जिनके नाम में NAME है (सबस्ट्रिंग मिलान)। यदि कोई सटीक मिलान मौजूद है, तो उसका पता अलग से प्रिंट किया जाता है।
-v, --verboseप्रगति संदेश, पार्स किए गए हेडर फ़ील्ड और आंतरिक ऑफ़सेट प्रिंट करें।
--applyपुनर्प्राप्त फ़ंक्शन नामों को radare2 सत्र में फ़ंक्शन परिभाषाओं (af+), go. फ़्लैगस्पेस में फ़्लैग, और मूल Go नाम और स्रोत स्थान के साथ टिप्पणियों के रूप में लिखें।
--jsonहेडर और पूर्ण फ़ंक्शन सूची को JSON के रूप में stdout पर आउटपुट करें।
--filesफ़ाइल तालिका से निकाले गए स्रोत फ़ाइल पथों की सूची प्रिंट करें।
-h, --helpसहायता संदेश दिखाएँ।

फ़्लैग को स्वतंत्र रूप से जोड़ा जा सकता है। जब कोई आउटपुट फ़्लैग नहीं दिया जाता है, तो डिफ़ॉल्ट व्यवहार हेडर और पूर्ण फ़ंक्शन सूची को प्रिंट करना है।


आउटपुट मोड और उदाहरण

नीचे दिए गए सभी उदाहरण एक स्ट्रिप की गई Go 1.26 Mach-O arm64 बाइनरी (जो -ldflags="-s -w" के साथ बनाई गई है) पर चलाए गए थे। परीक्षण प्रोग्राम main.main, main.fibonacci, main.helloWorld, और main.addNumbers को परिभाषित करता है। कंपाइलर ने helloWorld और addNumbers को इनलाइन कर दिया, इसलिए वे gopclntab में दिखाई नहीं देते।

डिफ़ॉल्ट मोड (हेडर + फ़ंक्शन सूची)

बिना किसी फ़्लैग (या केवल -f) के चलाने पर पार्स किया गया हेडर और उसके बाद पूर्ण फ़ंक्शन तालिका प्रिंट होती है:``` $ python3 r2_gopclntab.py -f ./gotest_stripped

[No content provided in the INPUT section.]```
============================================================
  Go pclntab Header
============================================================
  Magic:           0xFFFFFFF1
  Go version:      1.20+
  Pointer size:    8
  Min LC (quantum):4
  Num functions:   2030
  Num files:       261
  funcnameOffset:  0x48
  cuOffset:        0x14D20
  filetabOffset:   0x158D8
  pctabOffset:     0x19A98
  pclnOffset:      0x55E40
============================================================

ADDRESS       FUNCTION NAME
----------------------------------------------------------------------
0x100001000   go:buildid
0x100001070   internal/abi.BoundsDecode  (/opt/homebrew/Cellar/go/1.26.1/libexec/src/internal/abi/bounds.go:86)
0x100001150   internal/abi.NoEscape  (/opt/homebrew/Cellar/go/1.26.1/libexec/src/internal/abi/escape.go:19)
0x100001160   internal/abi.Kind.String  (/opt/homebrew/Cellar/go/1.26.1/libexec/src/internal/abi/type.go:143)
0x1000011E0   internal/abi.TypeOf  (/opt/homebrew/Cellar/go/1.26.1/libexec/src/internal/abi/type.go:181)
0x1000011F0   internal/abi.(*Type).ExportedMethods  (/opt/homebrew/Cellar/go/1.26.1/libexec/src/internal/abi/type.go:453)
...
0x1000A0BB0   main.fibonacci  (/tmp/gotest/main.go:13)
0x1000A0C20   main.main  (/tmp/gotest/main.go:20)
0x1000A0D20   go:textfipsstart
0x1000A0D30   go:textfipsend

[+] 2030 function(s) shown

Verbose Mode (-v)

सेक्शन स्कैनिंग प्रगति, textStart रिज़ॉल्यूशन विवरण, और आंतरिक ऑफ़सेट जानकारी जोड़ता है:``` $ python3 r2_gopclntab.py -f ./gotest_stripped -v

## स्थापना

Regexploit को pip के साथ स्थापित करें

```bash
pip install regexploit

और इसे चलाएँ

python -m regexploit

या इसे regexploit.derf.net पर ऑनलाइन आज़माएँ

उदाहरण

Regexploit ने कई कमज़ोरियाँ खोजी हैं। सबसे खराब उदाहरण हैं:

  • Academic Reporter v1.4.0 SSRF
  • clickhouse-driver RCE
  • python-alipay-sdk RCE - एक सर्च फंक्शन में अनंत लूप, जो ट्रिम किए गए रेगेक्स \s+ और बहुत सारे रिक्त स्थानों वाले UUID के उपयोग के कारण हुआ।
  • CVE-2023-30608 SQL Injection in sqlparse
  • python-fasthtml ReDoS - markdown2 लाइब्रेरी में ReDoS का एक अपूर्ण सुधार।

कई और वैध ReDoS कमज़ोरियाँ लोकप्रिय Python लाइब्रेरीज़ में पाई गई हैं, जिनके लिए CVE प्राप्त हुए हैं जैसे Pillow में CVE-2021-25292, httplib2 में CVE-2021-21240, और pygments में CVE-2021-27291। Node.js में भी कई ReDoS कमज़ोरियाँ हैं, जैसे hosted-git-info में CVE-2021-23362। Regexploit ने इन्हें खोजा है, और और भी खोज सकता है।

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