
تطبيق قابل للتوسيع لمختبري الاختراق ومطوري البرامج لفك ترميز/ترميز البيانات إلى تنسيقات مختلفة.

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++. لمزيد من المعلومات حول الاستخدام، راجع قسم الاستخدام المتقدم.
توفر واجهة المستخدم الرسومية وضعين متميزين للتفاعل:
وضع النافذة الرئيسية ووضع الحوار.

بينما يدعم وضع النافذة الرئيسية التبويب، فإن وضع الحوار لديه القدرة على إرجاع المحتوى المحول إلى 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++ يميز بين برامج الترميز (encoders)، وفك الترميز (decoders)، والتجزئة (hashers)، والبرامج النصية (scripts).
مثل واجهة المستخدم الرسومية، تسمح واجهة سطر الأوامر باستخدام عدة برامج ترميز متتالية:
$ 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!
لا تتردد في فتح تذكرة جديدة لطلب ميزات أو الإبلاغ عن أخطاء. كما لا تتردد في إصدار طلب سحب (pull request) للميزات/الإضافات الجديدة. يمكن العثور على مزيد من المعلومات حول تطوير Decoder++ في دليل التطوير.
شكرًا لـ:
عند بدء تشغيل Decoder++ على Mac OS، لا تعمل الإشارات.
قد يحدث هذا إذا تم تثبيت PyQt6 باستخدام Homebrew.
عند بدء تشغيل Decoder++ في CygWin، يحدث خطأ:
ModuleNotFoundError: No module named 'PyQt6'
قد يحدث هذا حتى إذا تم تثبيت PyQt6 باستخدام pip.
حاليًا لا يوجد حل لذلك. بدلاً من ذلك، يُنصح
ببدء تشغيل Decoder++ باستخدام سطر أوامر Windows.
عند بدء تشغيل 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/
راجع برامج بناء وتشغيل Docker لمزيد من المعلومات حول كيفية بناء وتشغيل حاوية Decoder++ Docker.