Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
blackhat-python3 — الكود المصدري لكتاب "Black Hat Python" من تأليف Justin Seitz. تم تحويل الكود بالكامل إلى Python 3، وإعادة تنسيقه ليتوافق مع معايير PEP8، وإعادة هيكلته لإزالة مشاكل الاعتماديات المتعلقة بتطبيق المكتبات المهجورة. | Kitploit
أدوات/GitHubGitHub/eonraider/blackhat-python3
الاستخبارات مفتوحة المصدر (OSINT)تحليل الكودالاستغلالالتحقيق الجنائي الرقميما بعد الاستغلالأمن الويبأمن الشبكاتتحليل البرمجيات الخبيثةالتشفيراختبار الاختراقالتعلم والتعليم
GitHub
2.4k45548منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
eonraider/blackhat-python3

blackhat-python3

الكود المصدري لكتاب "Black Hat Python" من تأليف Justin Seitz. تم تحويل الكود بالكامل إلى Python 3، وإعادة تنسيقه ليتوافق مع معايير PEP8، وإعادة هيكلته لإزالة مشاكل الاعتماديات المتعلقة بتطبيق المكتبات المهجورة.

عرض المستودع

الكود المصدري لـ Python 3 "Black Hat Python"

الكود المصدري للكتاب "Black Hat Python" بقلم جاستن سايتز. تم تحويل الكود بالكامل إلى Python 3، وإعادة تنسيقه للامتثال لمعايير PEP8، وإعادة هيكلته لإزالة مشكلات الاعتماد المتعلقة باستخدام مكتبات قديمة.

على الرغم من أنه كان يمكن تنفيذ العديد من التحسينات في الكود المصدري المعروض في جميع أنحاء الكتاب، إلا أن الكود تُرك دون تغيير قدر الإمكان بحيث يمكن للقارئ تطبيق هذه التعديلات كما يراه مناسباً. الكود كما هو يحتاج إلى جهود إعادة هيكلة جادة تتراوح من docstrings إلى type hinting ومعالجة الاستثناءات، ناهيك عن تحسينات مثل context managers، ولكن هذه المشكلات بحد ذاتها قد تعود بالفائدة على القارئ إذا كان ينوي تنفيذها. كما أنه يقدّم العديد من الأخطاء الناتجة عن المسافات البادئة (indentation) والتي تم تصحيحها لتجنب الأخطاء الفادحة أثناء التشغيل.

لقد قمت بنفسي بتوفير تحويل مماثل لهذا التحويل للكود المصدري للكتاب "Violent Python" بقلم TJ O'Connor. ألقِ نظرة هنا إذا لم تكن قد فعلت ذلك بعد.

الاستخدام

ببساطة اختر دليلاً (DIR) لاستنساخ المشروع فيه باستخدام git clone، وأنشئ بيئة افتراضية جديدة أو venv له (موصى به) وقم بتثبيت المتطلبات باستخدام pip install.

root@kitploit:~
user@host:~/DIR$ git clone https://github.com/EONRaider/blackhat-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

ملاحظات

  • بعض الأكواد المعروضة في الكتاب كانت مفقودة من مستودع الكود الخاص بالمؤلف والمتاح من موقع "no starch press"، وتمت إضافتها إلى الفصول المعنية. تم تطبيق اصطلاح تسمية أكثر دقة على الملفات عند الحاجة لربطها بالكود المعروض في الكتاب.
  • تم إصلاح أخطاء بسيطة كانت تولّد تحذيرات من المفسّر في جميع أنحاء الكود دون تغيير خصائصه.
  • تمت إضافة الملفات المساعدة اللازمة لجعل الكود يعمل إلى فصولها المعنية.
  • كملاحظة شخصية جانبية، كان بإمكان المؤلف كتابة كود أنظف دون المساس بسرعة التنفيذ المطلوبة لمهام الاختراق الأخلاقي. السبب الذي جعله لا يفعل ذلك يظل مجهولاً.

إعادة الهيكلة

إصلاحات أخطاء حرجة كان لا بد من إجرائها لتنفيذ الكود المصدري بشكل صحيح وتجنب الأخطاء الفادحة:

  • تطلّب chapter02/bh_sshserver.py مفتاح RSA الموجود في ملف test_rsa.key، وهو الآن مدرج في الدليل المقابل.
  • chapter03/sniffer_ip_header_decode.py وsniffer_with_icmp.py وscanner.py جميعها كانت بها مشكلات خطيرة في تعريف أحجام حزم IP وقابلية النقل بين معماريات 32/64-بت بسبب مشاكل في تنفيذ struct. مزيد من المعلومات حول هذه المشكلات في هذا الموضوع على Stack Overflow.
  • استخدم chapter03/scanner.py مكتبة netaddr، التي لم تعد تُصان وتقدّم الكثير من عدم التوافق مع Python 3. لهذا السبب تمت إعادة هيكلة الكود وأصبح يستخدم وحدة ipaddress من stdlib الخاصة بـ Python.
  • استخدم chapter04/arper.py وmail_sniffer.py مكتبة ، وهي غير متوافقة مع Python 3. لهذا السبب تمت إعادة هيكلة الكود وأصبح يستخدم مكتبة .

الترجمات

يمكن الاطلاع على المساهمات بلغات أخرى هنا:

  • تُرجم إلى التركية بواسطة Bedirhan Budak

المساهمة

من منطلق المنطق السليم، حاول أولاً مناقشة التغيير الذي ترغب في إجرائه على هذا المستودع عبر issue.

  1. تأكد من أن التعديلات التي ترغب في تقديمها تؤدي فعلياً إلى طلب سحب (pull request). يجب طلب تغيير سطر أو سطرين عبر issue بدلاً من ذلك.
  2. إذا لزم الأمر، قم بتحديث ملف README.md بالتفاصيل المتعلقة بالتغييرات في بنية المشروع.
  3. تأكد من أن رسائل الالتزامات (commit messages) التي تتضمن التعديلات تتبع معياراً معيناً. إذا كنت لا تعرف كيفية المتابعة، هنا مرجع رائع حول كيفية القيام بذلك.
  4. ستتم مراجعة طلبك في أقرب وقت ممكن (عادةً خلال 48 ساعة).
تنزيل الأداة
scapy
kamene
  • أصبح chapter04/pic_carver.py يستخدم مكتبة opencv-python بدلاً من cv2. كانت وحدة "cv2.cv" مهجورة وتم استبدالها. تم استبدال المعامل "cv2.cv.CV_HAAR_SCALE_IMAGE" من الكود الأصلي بـ "cv2.CASCADE_SCALE_IMAGE" بسبب هذا الالتزام.
  • تطلّب chapter05/content_bruter.py قائمة كلمات ليعمل. تمت إضافتها إلى الفصل تحت all.txt
  • تطلّب chapter05/joomla_killer.py قائمة كلمات ليعمل. تمت إضافتها إلى الفصل تحت cain.txt
  • تمت إعادة تنسيق chapter06/bhp_bing.py وbhp_fuzzer.py وbhp_wordlist.py للامتثال لمعايير PEP8، على الرغم من استمرار ظهور بعض التحذيرات بسبب ضرورة مطابقة أسماء الفئات لنمط camel-casing في هذا التطبيق المحدد على Burp Suite.
  • يتوفر chapter06/jython-standalone-2.7.2.jar كنسخة محدّثة أكثر من الملف المعروض في الكتاب.
  • تمت إعادة هيكلة chapter07/git_trojan.py لاستبدال مكتبة imp (المهجورة الآن) بـ types. تم تنفيذ بنية دليل فرعي تحتوي على ملفات الإعداد اللازمة كما هو موضح في الكتاب. كانت متغير "trojan_config" تفتقد إلى المسار النسبي للدليل الفرعي config. تمت إضافة استدعاء لطريقة "to_tree" في السطر 60 لتجنب استثناء AttributeError الذي يولّده الكود الأصلي. تم تضمين تعليمات حول كيفية إنشاء رمز وصول (access token) بدلاً من استخدام كلمة المرور في حال استخدام المصادقة الثنائية (2FA) كتعليقات.
  • يتطلب chapter08/keylogger.py مكتبة PyHook ليعمل. تم تضمين ملف wheel بنسخة 1.6.2. إذا لزم الأمر، يمكن تنزيل إصدارات أخرى من هنا.
  • ألقى chapter09/ie_exfil.py أخطاءً بسبب التعامل مع متغير plaintext (الذي يمكن أن يظهر كسلسلة نصية أو كسلسلة ثنائية) عند تمريره إلى دالة "encrypt_string". بالإضافة إلى ذلك، تم تصحيح استخدام مكتبة base64. مساهمة من Enraged في هذا الالتزام.