
पेनिट्रेशन टेस्टर्स और सॉफ्टवेयर डेवलपर्स के लिए एक विस्तार योग्य एप्लिकेशन जो डेटा को विभिन्न फॉर्मेट में डीकोड/एनकोड करता है।

Decoder++ एक विस्तार योग्य एप्लिकेशन है जो पेनिट्रेशन टेस्टर्स, सॉफ्टवेयर डेवलपर्स और बीच में सभी के लिए डिज़ाइन किया गया है जो विभिन्न प्रारूपों में डेटा को आसानी से डीकोड और एनकोड करना चाहते हैं। इसमें पूर्व-स्थापित स्क्रिप्ट्स और कोडेक्स की एक विस्तृत श्रृंखला, स्मार्ट डिकोडिंग और प्रारूप पहचान शामिल है, और यह ग्राफिकल यूज़र इंटरफ़ेस (GUI) और कमांड-लाइन इंटरफ़ेस (CLI) दोनों ऑपरेशनों का समर्थन करता है।
Decoder++ को कुछ ही चरणों में चलाने के लिए तैयार करें:
# pip का उपयोग करके इंस्टॉल करें (नवीनतम:qt6)
pip3 install decoder-plus-plus[qt6]
# या, qt5 बैकपोर्ट के लिए:
pip3 install decoder-plus-plus[qt5]
# सभी सुविधाओं और प्लगइन्स का लाभ उठाने के लिए:
pip3 install decoder-plus-plus[extras]
विस्तृत स्थापना मार्गदर्शिका के लिए, जिसमें प्लेटफ़ॉर्म-विशिष्ट निर्देश शामिल हैं, स्थापना गाइड देखें।
यह अनुभाग Decoder++ के साथ बातचीत करने के विभिन्न तरीकों का अवलोकन प्रदान करता है। अतिरिक्त उपयोग जानकारी के लिए उन्नत उपयोग अनुभाग देखें।
ग्राफिकल यूज़र इंटरफ़ेस दो अलग-अलग इंटरैक्शन मोड प्रदान करता है: एक main-window-mode और एक dialog-mode।

जबकि main-window-mode टैबिंग का समर्थन करता है, dialog-mode में परिवर्तित सामग्री को आगे की प्रक्रिया के लिए stdout पर वापस करने की क्षमता है। परिणामस्वरूप Decoder++ किसी भी इनपुट के लचीले परिवर्तन के लिए ग्राफिकल यूज़र इंटरफ़ेस प्रदान करके अन्य टूल्स/स्क्रिप्ट्स को बढ़ा सकता है।

जबकि Decoder++ डिफ़ॉल्ट रूप से पूरे इनपुट टेक्स्ट को प्रोसेस करता है, यह चयनात्मक डेटा परिवर्तन की भी अनुमति देता है। अपने टेक्स्ट के केवल एक विशिष्ट भाग को बदलने के लिए, इनपुट फ़ील्ड में आवश्यक टेक्स्ट सेगमेंट को हाइलाइट करें और फिर वांछित कोडेक लागू करें।

ग्राफिकल यूज़र इंटरफ़ेस के अलावा Decoder++ एक कमांड लाइन इंटरफ़ेस भी प्रदान करता है:
$ dpp -e base64 -h sha1 "Hello, world!"
e52d74c6d046c390345ae4343406b99587f2af0d
Decoder++ आपको विभिन्न प्रकार के कोडेक्स और स्क्रिप्ट्स में से चुनने की अनुमति देता है:
ऐसे मामलों में जहां आपको थोड़ी अधिक लचीलापन चाहिए, Decoder++ आपको Custom Code स्क्रिप्ट का उपयोग करके कस्टम स्क्रिप्ट्स के साथ अपने डेटा को प्रोसेस करने की अनुमति देता है:

यह अनुभाग इस बारे में अतिरिक्त जानकारी प्रदान करता है कि कमांड लाइन इंटरफ़ेस का उपयोग कैसे किया जा सकता है।
कमांड लाइन इंटरफ़ेस सभी उपलब्ध कोडेक्स तक आसान पहुँच प्रदान करता है।
उन्हें सूचीबद्ध करने के लिए -l आर्गुमेंट का उपयोग किया जा सकता है। खोज को सीमित करने के लिए -l आर्गुमेंट अतिरिक्त पैरामीटर स्वीकार करता है जो फ़िल्टर के रूप में काम करते हैं:
$ dpp -l base enc
Codec Type
----- ----
base16 encoder
base32 encoder
base64 encoder
Decoder++ एनकोडर, डीकोडर, हैशर और स्क्रिप्ट्स के बीच अंतर करता है। ग्राफिकल यूज़र इंटरफ़ेस की तरह, कमांड लाइन इंटरफ़ेस एक पंक्ति में कई कोडेक्स के उपयोग की अनुमति देता है:
$ dpp "H4sIAAXmeVsC//NIzcnJ11Eozy/KSVEEAObG5usNAAAA" -d base64 -d gzip
Hello, world!
जबकि एनकोडर, डीकोडर और हैशर का तुरंत उपयोग किया जा सकता है, कुछ स्क्रिप्ट्स को अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता हो सकती है। किसी विशिष्ट स्क्रिप्ट के सभी उपलब्ध विकल्पों को दिखाने के लिए help पैरामीटर जोड़ें:
$ dpp "Hello, world!" -s split_and_rejoin help
Split & Rejoin
==============
Name Value Group Required Description
---- ----- ----- -------- -----------
split_by_chars split_behaviour yes the chars used at which to split the text
split_by_length 0 split_behaviour yes the length used at which to split the text
rejoin_with_chars yes the chars used to join the splitted text
किसी विशिष्ट स्क्रिप्ट को कॉन्फ़िगर करने के लिए, व्यक्तिगत विकल्पों को नाम-मान जोड़े के रूप में प्रदान करने की आवश्यकता है (जैसे search_term="Hello"):
$ dpp "Hello, world!" -s search_and_replace search_term="Hello" replace_term="Hey"
Hey, world!
सुविधाओं का अनुरोध करने या बग की रिपोर्ट करने के लिए बेझिझक एक नया टिकट खोलें। नई सुविधाओं/प्लगइन्स के लिए पुल-रिक्वेस्ट जारी करने में भी संकोच न करें। Decoder++ विकास के बारे में अधिक जानकारी विकास गाइड में पाई जा सकती है।
धन्यवाद:
जब Mac OS में Decoder++ शुरू किया जाता है तो सिग्नल काम नहीं कर रहे हैं। ऐसा तब हो सकता है जब PyQt6 को homebrew का उपयोग करके स्थापित किया गया हो।
जब CygWin में Decoder++ शुरू किया जाता है तो एक त्रुटि होती है:
ModuleNotFoundError: No module named 'PyQt6'
ऐसा तब भी हो सकता है जब PyQt6 pip का उपयोग करके स्थापित किया गया हो। वर्तमान में इसका कोई समाधान नहीं है। इसके बजाय Windows कमांड लाइन का उपयोग करके Decoder++ शुरू करने की सिफारिश की जाती है।
जब Decoder++ शुरू किया जाता है तो कंसोल पर त्रुटि No module named 'PyQt6.sig' प्रदर्शित होती है। ऐसा तब हो सकता है जब PyQt6 के प्रतिस्पर्धी संस्करण स्थापित हों। PyQt6 को पुनः स्थापित करने से यह त्रुटि ठीक हो जानी चाहिए।
$ sudo pip3 uninstall PyQt6
$ sudo pip3 install PyQt6
कम से कम Ubuntu 22.04 में apt का उपयोग करके निम्नलिखित पैकेजों को स्थापित करना आवश्यक हो सकता है:
apt install libqt6core6 libqt6network6 libqt6openglwidgets6 libqt6widgets6
कंटेनर/वर्चुअल मशीन के अंदर dpp चलाने के लिए आपको कंटेनर/वर्चुअल मशीन के अंदर qt6-qpa-plugins स्थापित करने और QT_QPA_PLATFORM_PLUGIN_PATH को तदनुसार कॉन्फ़िगर करने की आवश्यकता हो सकती है:
apt install qt6-qpa-plugins
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins/platforms/
Decoder++ Docker कंटेनर को बनाने और चलाने के तरीके के बारे में अधिक जानकारी के लिए Docker बिल्ड और रन स्क्रिप्ट्स देखें।