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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pbtk — प्रोटोबफ-आधारित ऐप्स के रिवर्स इंजीनियरिंग और फज़िंग के लिए एक टूलसेट | Kitploit
उपकरण/GitHubGitHub/marin-m/pbtk
एंड्रॉइड सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)पेलोड जनरेशनरिवर्स इंजीनियरिंगवेब सुरक्षाफज़िंगमोबाइल सुरक्षाबाइनरी विश्लेषण
GitHubmarin-m/pbtk

pbtk

प्रोटोबफ-आधारित ऐप्स के रिवर्स इंजीनियरिंग और फज़िंग के लिए एक टूलसेट

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

pbtk - रिवर्स इंजीनियरिंग प्रोटोबफ एप्लिकेशन

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

pbtk (प्रोटोबफ टूलकिट) स्क्रिप्ट्स का एक पूर्ण सेट है, जो एक एकीकृत GUI के माध्यम से सुलभ है, और दो मुख्य सुविधाएँ प्रदान करता है:

  • प्रोग्रामों से प्रोटोबफ संरचनाएँ निकालना, उन्हें वापस पढ़ने योग्य .proto में परिवर्तित करना, विभिन्न कार्यान्वयनों का समर्थन करता है:

    • सभी मुख्य जावा रनटाइम (बेस, लाइट, नैनो, माइक्रो, J2ME), पूर्ण प्रोगार्ड समर्थन के साथ, (2026: यह अभी भी अच्छी तरह से काम करता है लेकिन ज्यादातर पुराने APK के साथ)
    • एम्बेडेड रिफ्लेक्शन मेटाडेटा वाले बाइनरी (आमतौर पर C++, कभी-कभी जावा और अधिकांश अन्य बाइंडिंग), (2026: यह अभी भी अच्छी तरह से काम करता है)
    • JsProtoUrl रनटाइम का उपयोग करने वाले वेब एप्लिकेशन। (2026: इसे अपडेट की आवश्यकता है)
  • प्रोटोबफ नेटवर्क एंडपॉइंट पर भेजे गए डेटा को संपादित करना, पुनः चलाना और फ़ज़ करना, एक सुविधाजनक ग्राफिकल इंटरफ़ेस के माध्यम से जो आपको प्रोटोबफ संदेश के फ़ील्ड को लाइव संपादित करने और परिणाम देखने की अनुमति देता है।

pbtk संपादक GUI

स्थापना

PBTK के लिए Python ≥ 3.5, PySide 6, Python-Protobuf 3, और एक्सट्रैक्टर स्क्रिप्ट चलाने के लिए कुछ निष्पादन योग्य प्रोग्राम (क्रोमियम, jad, dex2jar...) की आवश्यकता होती है।

Ubuntu उपयोगकर्ता इसे snap का उपयोग करके स्थापित कर सकते हैं:

$ sudo snap install pbtk
$ pbtk

Archlinux उपयोगकर्ता सीधे पैकेज के माध्यम से स्थापित कर सकते हैं:

$ yay -S pbtk-git
$ pbtk

अधिकांश अन्य वितरणों पर, आप इसे सीधे चलाना चाहेंगे:

# Ubuntu/Debian परीक्षण डेरिवेटिव के लिए:
$ sudo apt install python3-pip git openjdk-8-jre python3-qtpy-pyside6

# फिर, UV का उपयोग करके:
$ sudo snap install --classic astral-uv
$ uv tool install pbtk
$ pbtk

# या pipx का उपयोग करके:
$ sudo apt install pipx
$ pipx install pbtk
$ pbtk

Windows भी समर्थित है (समान मॉड्यूल की आवश्यकता है)। एक बार जब आप GUI चलाते हैं, तो यह आपको चेतावनी देगा कि आप क्या खो रहे हैं, यह इस पर निर्भर करता है कि आप क्या करने का प्रयास करते हैं।

कमांड लाइन उपयोग (पैकेज मैनेजर के माध्यम से स्थापित करना)

GUI को मुख्य स्क्रिप्ट के माध्यम से लॉन्च किया जा सकता है:

pbtk

निम्नलिखित स्क्रिप्ट का उपयोग GUI के बिना, स्वतंत्र रूप से भी किया जा सकता है:

pbtk-jar-extract [-h] input_file [output_dir]
pbtk-from-binary [-h] input_file [output_dir]
pbtk-web-extract [-h] input_url [output_dir] # 2026 तक काम करने के लिए अपडेट की आवश्यकता है

जब snap से स्थापित करते हैं, तो सटीक कमांड अलग होते हैं:

pbtk.jar-extract [-h] input_file [output_dir]
pbtk.from-binary [-h] input_file [output_dir]
pbtk.web-extract [-h] input_url [output_dir]

कमांड लाइन उपयोग (स्थानीय)

GUI को मुख्य स्क्रिप्ट के माध्यम से लॉन्च किया जा सकता है:

uv sync # .venv फ़ोल्डर में निर्भरताएँ डाउनलोड करें
source .venv/bin/activate # वर्तमान शेल सत्र के लिए $PATH में स्थानीय स्क्रिप्ट डालें
uv tool install -e . # $PATH में स्थानीय स्क्रिप्ट को हमेशा के लिए डालें
pbtk

निम्नलिखित स्क्रिप्ट का उपयोग GUI के बिना, स्वतंत्र रूप से भी किया जा सकता है:

pbtk-jar-extract [-h] input_file [output_dir]
pbtk-from-binary [-h] input_file [output_dir]
pbtk-web-extract [-h] input_url [output_dir] # 2026 तक काम करने के लिए अपडेट की आवश्यकता है

सामान्य कार्यप्रवाह

मान लीजिए आप एक एंड्रॉइड एप्लिकेशन का रिवर्स इंजीनियरिंग कर रहे हैं। आपने अपने पसंदीदा डीकंपाइलर के साथ एप्लिकेशन का थोड़ा अन्वेषण किया और पाया कि यह HTTPS पर POST डेटा के रूप में प्रोटोबफ को विशिष्ट तरीके से परिवहन करता है।

आप PBTK खोलते हैं और एक सार्थक तरीके से स्वागत किया जाता है:

स्वागत स्क्रीन

पहला कदम आपके .protos को टेक्स्ट फ़ॉर्मेट में प्राप्त करना है। यदि आप एक एंड्रॉइड ऐप को लक्षित कर रहे हैं, तो एक APK ड्रॉप करना और प्रतीक्षा करना जादू का काम करना चाहिए! (जब तक कि यह वास्तव में विदेशी कार्यान्वयन न हो)

समाप्त स्क्रीन

यह हो जाने के बाद, आप ~/.pbtk/protos/<आपका APK नाम> पर जाते हैं (या तो कमांड लाइन के माध्यम से, या स्वागत स्क्रीन के नीचे बटन के माध्यम से अपनी फ़ाइल ब्राउज़र खोलने के लिए, जैसा आप पसंद करते हैं)। ऐप के सभी .protos वास्तव में यहाँ हैं।

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

आपका डीकंपाइलर

बाद वाले वर्ग का आपके .protos निर्देशिका के अंदर एक सटीक मिलान होना चाहिए (अर्थात com.foo.bar.a.b com/foo/bar/a/b.proto से मेल खाएगा)। किसी भी तरह, इसके नाम को grep करने से आप इसे संदर्भित करने में सक्षम होंगे।

यह बहुत अच्छा है: अगली बात चरण 2 पर जाना है, अपनी वांछित इनपुट .proto का चयन करना, और अपने एंडपॉइंट के बारे में कुछ जानकारी भरना है।

एंडपॉइंट निर्माण फ़ॉर्म

आप कुछ नमूना कच्चा प्रोटोबफ डेटा भी दे सकते हैं, जो इस एंडपॉइंट पर भेजा गया था, जिसे mitmproxy या Wireshark के माध्यम से कैप्चर किया गया है, और जिसे आप हेक्स-एन्कोडेड रूप में पेस्ट करेंगे।

चरण 3 बटन क्लिक करने और देखने के मज़ेदार हिस्से के बारे में है कि क्या होता है! आपके पास एक ट्री व्यू है जो प्रोटोबफ संरचना में प्रत्येक फ़ील्ड का प्रतिनिधित्व करता है (दोहराए गए फ़ील्ड "+" से प्रत्ययित होते हैं, आवश्यक फ़ील्ड में चेकबॉक्स नहीं होते हैं)।

एंडपॉइंट निर्माण फ़ॉर्म

बस फ़ोकस पाने के लिए किसी फ़ील्ड पर होवर करें। यदि फ़ील्ड एक पूर्णांक प्रकार है, तो इसे बढ़ाने/घटाने के लिए माउस व्हील का उपयोग करें। होवर करने पर एनम जानकारी भी दिखाई देती है।

यहाँ यह है! आप इसके साथ प्रत्येक फ़ील्ड का अर्थ निर्धारित कर सकते हैं। यदि आपने मिनिफाइड कोड से .protos निकाले हैं, तो आप उनके नाम क्लिक करके फ़ील्ड का नाम बदल सकते हैं, जैसा कि आप देखते हैं कि उनका क्या अर्थ है।

हैप्पी रिवर्सिंग! 👌 🎉

स्थानीय डेटा संग्रहण

PBTK निकाले गए .proto जानकारी को ~/.pbtk/protos/ (या Windows पर %APPDATA%\pbtk\protos) में संग्रहीत करता है।

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

HTTP-आधारित एंडपॉइंट ~/.pbtk/endpoints/ में JSON ऑब्जेक्ट के रूप में संग्रहीत किए जाते हैं। ये ऑब्जेक्ट अनुरोध/प्रतिक्रिया जानकारी के जोड़े की सरणियाँ हैं, जो इस तरह दिखते हैं:

[{
    "request": {
        "transport": "pburl",
        "proto": "www.google.com/VectorTown.proto",
        "url": "https://www.google.com/VectorTown",
        "pb_param": "pb",
        "samples": [{
            "pb": "!....",
            "hl": "fr"
        }]
    },
    "response": {
        "format": "other"
    }
}]

स्रोत कोड संरचना

PBTK आंतरिक रूप से दो प्रकार के प्लग करने योग्य मॉड्यूल का उपयोग करता है: एक्सट्रैक्टर और ट्रांसपोर्ट।

  • एक एक्सट्रैक्टर एक लक्ष्य प्रोटोबफ कार्यान्वयन या प्लेटफ़ॉर्म से .proto संरचनाओं को निकालने का समर्थन करता है।

एक्सट्रैक्टर src/pbtk/extractors/*.py में परिभाषित किए गए हैं। वे एक डेकोरेटर से पहले एक विधि के रूप में परिभाषित किए गए हैं, इस प्रकार:

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