
hate_crack v2.14.3
TrustedSec टीम द्वारा Hashcat के माध्यम से क्रैकिंग कार्यप्रणालियों को स्वचालित करने के लिए एक उपकरण।
___ ___ __ _________ __
/ | \_____ _/ |_ ____ \_ ___ \____________ ____ | | __
/ ~ \__ \\ __\/ __ \ / \ \/\_ __ \__ \ _/ ___\| |/ /
\ 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/ से पहले से बना बाइनरी डाउनलोड करें और config.json में hcatPath को उसके स्थान पर सेट करें।
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— wordlist पाथ, मास्क, नियम, ट्यूनिंग, potfile, hashcat पाथ, कैंडिडेट सीमाएँ, नोटिफ़िकेशन टॉगल, CLI प्रेफ़रेंस डिफ़ॉल्ट (35 सेटिंग्स)।.env— केवल थर्ड-पार्टी इंटीग्रेशन सेटिंग्स: Hashview और Hashmob क्रेडेंशियल्स, Pushover क्रेडेंशियल्स, Ollama, और pipal (14 सेटिंग्स)। git द्वारा ट्रैक नहीं किया जाता, मोड0600पर बनाया जाता है।
यह विभाजन एक कारण से वहाँ है: .env वह फ़ाइल है जिसमें सीक्रेट्स हो सकते हैं। थर्ड-पार्टी सेवाओं के क्रेडेंशियल्स और कॉन्फ़िगरेशन अनट्रैक्ड, 0600 फ़ाइल में जाते हैं; hate_crack जो कुछ भी लोकली करता है वह config.json में रहता है, जिसे शेयर करना, diff करना और अपने नोट्स में चेक-इन करना सुरक्षित है। यही कारण है कि Pushover क्रेडेंशियल्स .env में हैं जबकि Pushover on/off टॉगल config.json में हैं — टॉगल लोकल प्रेफ़रेंस हैं, सीक्रेट्स नहीं।
प्रत्येक key का ठीक एक ही घर है। दूसरी फ़ाइल में रखी key को अनदेखा कर दिया जाता है, और hate_crack एक चेतावनी प्रिंट करता है जिसमें उस फ़ाइल का नाम होता है जिसमें वह belongs करती है। किसी भी key को एक बार के रन के लिए उसका environment variable export करके ओवरराइड किया जा सकता है। अधिकांश उपयोगकर्ता इस चरण को छोड़ सकते हैं क्योंकि डिफ़ॉल्ट पाथ out-of-the-box काम करते हैं।
config.json स्थायी और first-class है — यह deprecated नहीं है और इसके लिए कोई removal timeline नहीं है। केवल इंटीग्रेशन सेटिंग्स ही स्थानांतरित हुई हैं।
एकल config.json से अपग्रेड कर रहे हैं? hate_crack पहले रन पर इसे आपके लिए माइग्रेट कर देता है: इंटीग्रेशन सेटिंग्स को एक नई 0600 .env में कॉपी किया जाता है, फिर config.json से हटा दिया जाता है ताकि दोनों फ़ाइलें उन पर दावा न करें। यह प्रिंट करता है कि कौन सी keys स्थानांतरित हुईं (उनके मान कभी नहीं), और इसे छूने से पहले आपके मूल को config.json.pre-split.bak के रूप में सहेजता है। config.json में बाकी सब कुछ बिल्कुल वैसा ही छोड़ दिया जाता है, key क्रम सहित।
पहला रन: hate_crack आपके लिए दोनों फ़ाइलें बना देता है, इसलिए करने के लिए कुछ नहीं है। इसके बजाय .env को हाथ से सेट करने के लिए, ट्रैक किए गए टेम्पलेट को कॉपी करें:```bash
cp .env.example .env
chmod 600 .env
`.env.example` कमिट किया जाता है और हर क्रेडेंशियल कुंजी खाली के साथ भेजा जाता है। `.env` स्वयं **कभी** कमिट नहीं किया जाना चाहिए — यह gitignored है, इसके सामान्य बैकअप स्पेलिंग्स के साथ, और hate_crack इसे हमेशा मोड `0600` (केवल मालिक पढ़/लिख सकता है) पर बनाता है। `.env.example` स्कीमा से जनरेट किया जाता है; `hate_crack/config_schema.py` को बदलने के बाद इसे `uv run python -m hate_crack.config_writer` के साथ पुनः जनरेट करें।
### 3. निर्भरताएँ और hate_crack इंस्टॉल करें
सबसे आसान तरीका है `make` (या `make install`) चलाना, जो आपके OS का स्वतः पता लगाता है और इंस्टॉल करता है:
- बाहरी निर्भरताएँ (p7zip, transmission-daemon / transmission-remote)
- सबमॉड्यूल बनाता है (hashcat-utils, princeprocessor, pcfg_cracker, और वैकल्पिक रूप से omen) और केवल-डेटा Corporate_Masks मास्क सेट को चेकआउट करता है
- uv के माध्यम से Python निर्भरताएँ और `~/.local/bin/hate_crack` पर एक CLI शिम```bash
make
यह idempotent है - यह पहले से इंस्टॉल किए गए टूल्स को छोड़ देता है। साफ़ पुनःस्थापना के लिए बाध्य करने हेतु:```bash make reinstall
**या निर्भरताएँ मैन्युअल रूप से इंस्टॉल करें:**
### बाहरी निर्भरताएँ
ये कुछ डाउनलोड/निष्कर्षण प्रवाहों के लिए आवश्यक हैं:
- `7z`/`7za` (p7zip) — `.7z` संग्रहों को निकालने के लिए उपयोग किया जाता है।
- `transmission-daemon` / `transmission-remote` — 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 shim इंस्टॉल करें:```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: Atomic Agents के माध्यम से संरचित (JSON) LLM उम्मीदवार जनरेशन।hate_crack/menu.py: साझा मेनू रेंडरर, जिसमें वैकल्पिक एरो-की नेविगेशन शामिल है।hate_crack/noninteractive.py: स्क्रिप्टेड हमला सबकमांड के लिए डिस्पैचर।hate_crack/notify/: अधिसूचना पैकेज (Pushover बैकएंड, प्रति-क्रैक टेलर)।hate_crack/username_detect.py: hashcat के--usernameपर निर्णय लेने के लिएusername:hashइनपुट फ़ाइलों का पता लगाता है।hate_crack/formatting.py,hate_crack/progress.py: आउटपुट फ़ॉर्मेटिंग और प्रगति प्रदर्शन सहायक।hate_crack/main.py: मुख्य CLI कार्यान्वयन।
शीर्ष-स्तरीय 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` कमांड `~/.local/bin/hate_crack` पर एक bash shim बनाता है जो रेपो डायरेक्टरी से चलता है, इसलिए कॉन्फ़िग और एसेट्स हमेशा मिल जाते हैं, चाहे आपकी वर्तमान वर्किंग डायरेक्टरी कोई भी हो।