
hate_crack v2.23.0
أداة لأتمتة منهجيات كسر كلمات المرور عبر Hashcat من فريق TrustedSec.
___ ___ __ _________ __
/ | \_____ _/ |_ ____ \_ ___ \____________ ____ | | __
/ ~ \__ \\ __\/ __ \ / \ \/\_ __ \__ \ _/ ___\| |/ /
\ Y // __ \| | \ ___/ \ \____| | \// __ \\ \___| <
\___|_ /(____ /__| \___ >____\______ /|__| (____ /\___ >__|_ \
\/ \/ \/_____/ \/ \/ \/ \/
التثبيت
التثبيت من المصدر هو المسار الوحيد المدعوم. hate_crack ليس
موزعًا على PyPI: الأمر pip install hate-crack يُحل إلى عنصر نائب بإصدار 0.0.0
يفشل عن قصد ويشير إلى هنا. الاسم محجوز فقط حتى لا يتمكن أي شخص آخر من نشر نسخة مشابهة تحته — راجع
packaging/pypi-placeholder/.
1. تثبيت hashcat
يجب تثبيت Hashcat وأن يكون متاحًا في PATH الخاص بك:
Ubuntu/Kali:```bash sudo apt-get install -y hashcat
macOS (Homebrew):```bash
brew install hashcat
أو قم بتنزيل ملف ثنائي جاهز من https://hashcat.net/hashcat/ واضبط hcatPath في config.json على موقعه.
2. تنزيل hate_crack
استنسخ مع الوحدات الفرعية (مطلوب لـ hashcat-utils وprinceprocessor وpcfg_cracker وCorporate_Masks واختياريًا omen):```bash git clone --recurse-submodules https://github.com/trustedsec/hate_crack.git cd hate_crack
إذا قمت بالاستنساخ بدون الوحدات الفرعية، فقم بتهيئتها:```bash
git submodule update --init --recursive
ثم خصّص الإعدادات إذا لزم الأمر. يستخدم hate_crack ملفَّي إعدادات، لكلٍّ منهما مجموعة مميزة من الإعدادات:
config.json— مسارات قوائم الكلمات، والأقنعة، والقواعد، والضبط الدقيق، وملف potfile، ومسار hashcat، وحدود المرشحين، ومفاتيح تشغيل الإشعارات، والإعدادات الافتراضية لتفضيلات سطر الأوامر (35 إعدادًا)..env— إعدادات التكامل مع الأطراف الثالثة فقط: بيانات اعتماد Hashview وHashmob، وبيانات اعتماد Pushover، وOllama، وpipal (14 إعدادًا). غير متتبَّع بواسطة git، ويُنشأ بوضع0600.
يقع الخط الفاصل هناك لسبب واحد: .env هو الملف الذي يمكن أن يحتوي على أسرار. بيانات الاعتماد الخاصة بخدمات الأطراف الثالثة وإعداداتها توضع في الملف غير المتتبَّع ذي الوضع 0600؛ وكل ما يفعله hate_crack محليًا يبقى في config.json، وهو آمن للمشاركة والمقارنة والتدوين في ملاحظاتك الخاصة. ولهذا أيضًا توجد بيانات اعتماد Pushover في .env بينما توجد مفاتيح تشغيل/إيقاف Pushover في config.json — فالمفاتيح تفضيلات محلية وليست أسرارًا.
لكل مفتاح موطن واحد بالضبط. المفتاح الموضوع في الملف الآخر يُتجاهَل، ويطبع hate_crack تحذيرًا يسمّي الملف الذي ينتمي إليه. ويمكن مع ذلك تجاوز أي مفتاح لتشغيل واحد عبر تصدير متغير البيئة الخاص به. يمكن لمعظم المستخدمين تخطي هذه الخطوة لأن المسارات الافتراضية تعمل مباشرةً.
config.json دائم ومن الدرجة الأولى — فهو غير مهجور ولا يوجد جدول زمني لإزالته. إعدادات التكامل فقط هي التي انتقلت.
هل ترقّي من config.json واحد؟ يهاجره hate_crack نيابةً عنك عند أول تشغيل: تُنسخ إعدادات التكامل إلى ملف .env جديد بوضع 0600، ثم تُزال من config.json حتى لا يدّعيها الملفان معًا. ويطبع المفاتيح التي انتقلت (وليس قيمها أبدًا)، ويحفظ نسختك الأصلية باسم config.json.pre-split.bak قبل المساس بها. ويُترك كل ما تبقى في config.json كما كان بالضبط، بما في ذلك ترتيب المفاتيح.
أول تشغيل: ينشئ hate_crack كلا الملفين نيابةً عنك، فلا يوجد ما تفعله. لإعداد .env يدويًا بدلًا من ذلك، انسخ القالب المتتبَّع:```bash
cp .env.example .env
chmod 600 .env
يُلتزم بملف `.env.example` ويُشحن مع كل مفتاح اعتماد فارغ. أما `.env` نفسه فيجب **ألا** يُلتزم به أبدًا — فهو مُستبعَد عبر gitignore، إلى جانب صيغ النسخ الاحتياطي المعتادة له، ويقوم hate_crack دائمًا بإنشائه بصلاحيات `0600` (قراءة/كتابة للمالك فقط). يُولَّد `.env.example` من المخطط؛ أعد توليده بعد تغيير `hate_crack/config_schema.py` باستخدام `uv run python -m hate_crack.config_writer`.
### 3. تثبيت التبعيات و hate_crack
أسهل طريقة هي تشغيل `make` (أو `make install`)، والذي يكتشف نظام التشغيل تلقائيًا ويثبّت:
- التبعيات الخارجية (p7zip، transmission-daemon / transmission-remote)
- يبني الوحدات الفرعية (hashcat-utils، princeprocessor، pcfg_cracker، واختياريًا omen) ويستخرج مجموعة الأقنعة Corporate_Masks الخاصة بالبيانات فقط
- تبعيات Python عبر uv وواجهة CLI في `~/.local/bin/hate_crack````bash
make
هذا ثابت النتيجة (idempotent) - يتخطى الأدوات المثبتة بالفعل. لفرض إعادة تثبيت نظيفة:```bash make reinstall
**أو قم بتثبيت التبعيات يدويًا:**
### التبعيات الخارجية
هذه مطلوبة لبعض عمليات التنزيل/الاستخراج:
- `7z`/`7za` (p7zip) — يُستخدم لاستخراج أرشيفات `.7z`.
- `transmission-daemon` / `transmission-remote` — يُستخدم لتنزيل ملفات torrent الخاصة بـ Weakpass.
أوامر التثبيت اليدوي:
Ubuntu/Kali:```bash
sudo apt-get update
sudo apt-get install -y p7zip-full transmission-daemon
macOS (Homebrew):```bash brew install p7zip transmission-cli # provides transmission-daemon and transmission-remote
ثم قم بتثبيت تبعيات Python وواجهة CLI:```bash
uv sync
mkdir -p ~/.local/bin
printf '#!/usr/bin/env bash\nset -euo pipefail\nexec uv run --directory %s python -m hate_crack "$@"\n' "$(pwd)" > ~/.local/bin/hate_crack
chmod +x ~/.local/bin/hate_crack
بنية المشروع
تم الآن تقسيم المنطق الأساسي إلى وحدات تحت hate_crack/:
hate_crack/cli.py: مساعدات argparse وتجاوزات الإعدادات.hate_crack/api.py: تكاملات Hashview وWeakpass وHashmob (التنزيلات/القوائم/المساعدات).hate_crack/attacks.py: معالجات هجمات القوائم.hate_crack/corpus_stats.py: إحصاءات كلمات المرور للمجموعة الكاملة المستخدمة لوصف مجموعة للـ LLM.hate_crack/plaintext.py: يستعيد كلمة المرور من سطر المجموعة (إزالة بادئة الهاش، فك ترميز$HEX[...]); مشترك بين أوضاع LLM وcorpus_stats وrulegen.hate_crack/llm.py: توليد مرشحات LLM منظمة (JSON) عبر Atomic Agents.hate_crack/menu.py: عارض القوائم المشترك، بما في ذلك التنقل الاختياري بمفاتيح الأسهم.hate_crack/noninteractive.py: موزّع أوامر الهجوم النصية الفرعية.hate_crack/notify/: حزمة الإشعارات (خلفية Pushover، متتبع لكل كسر).hate_crack/username_detect.py: يكتشف ملفات الإدخالusername:hashلتحديد خيار--usernameفي hashcat.hate_crack/formatting.py،hate_crack/progress.py: مساعدات تنسيق المخرجات وعرض التقدم.hate_crack/main.py: التنفيذ الرئيسي لواجهة سطر الأوامر.
يبقى hate_crack.py في المستوى الأعلى نقطة الدخول الرئيسية وينسّق هذه الوحدات.
المراجع والشكر
يعتمد هذا المشروع على عدد من المشاريع والخدمات الخارجية ويستلهم منها. شكراً لـ:
- Hashview (http://github.com/hashview/)
- Weakpass (https://weakpass.com)
- Hashmob (https://hashmob.net)
الاستخدام
بعد التثبيت باستخدام make، شغّل hate_crack من أي مكان:```bash
hate_crack
or with arguments:
hate_crack <hash_file> <hash_type> [options]
بدلاً من ذلك، شغّله عبر `uv`:```bash
uv run hate_crack.py <hash_file> <hash_type>
التشغيل كأداة (موصى به)
التثبيت باستخدام make من جذر المستودع - يقوم هذا ببناء الوحدات الفرعية وتجميع الأصول:```bash
cd /path/to/hate_crack
make
hate_crack
يقوم أمر `make install` بإنشاء bash shim في `~/.local/bin/hate_crack` يعمل من دليل المستودع، بحيث يتم العثور على الإعدادات والملفات دائمًا بغض النظر عن دليل العمل الحالي.
يتم أيضًا البحث عن الإعدادات في:
- جذر المستودع ودليل الحزمة
- `~/.hate_crack`
**ملاحظة:** إن `hcatPath` في `config.json` مخصص لموقع ملف hashcat الثنائي فقط (اختياري إذا كان hashcat في PATH). يتم تحميل ملفات Hate_crack (hashcat-utils، princeprocessor، pcfg_cracker، Corporate_Masks، omen) من دليل المستودع وتُضمَّن تلقائيًا بواسطة `make install`.
### التشغيل كسكربت
يستخدم السكربت shebang الخاص بـ `uv`. اجعله قابلًا للتنفيذ وشغّله:```bash
chmod +x hate_crack.py
./hate_crack.py
يمكنك أيضًا استخدام Python مباشرةً:```bash python hate_crack.py
### الاستخدام غير التفاعلي / البرمجي