The Ultimate Modern Password Cracker for ZIP/RAR Archives
A powerful, feature-rich password recovery tool with beautiful CLI and advanced cracking capabilities
- ✨ Features
- 🏗️ Architecture
- 🔄 Workflow
- 🚀 Quick Start
- 🧑💻 Usage Guide
- 🛠️ Advanced Options
- 📊 Performance
- 🧪 Testing
- 🛡️ Security & Disclaimer
- 📞 Credits
- 🎯 Multi-format Support: Crack both ZIP and RAR archives (AES encryption support)
- 🔀 Dual Attack Modes: Dictionary attacks and brute-force attacks
- ⚡ Multi-threading: Parallel password attempts for maximum speed
- 🧠 Smart Pattern Intelligence: Automatically tries common password patterns based on filename
- 🔄 Auto-resume: Resume interrupted sessions without losing progress
- ☁️ Wordlist Downloader: Automatically fetch popular wordlists (rockyou.txt)
- 🎨 Beautiful CLI: Rich terminal UI with hacker vibes, progress bars, and live updates
- 📊 Real-time Feed: See password attempts in real-time with verbose mode
- 📝 Detailed Logging: Comprehensive log files for all attempts and results
- 🔔 Notifications: Desktop and email notifications when password is found
- 🎬 Animated Intro: Matrix-style intro and typewriter banner effects
- ✅ Error Handling: Robust error handling and graceful failures
- 📈 Progress Tracking: Real-time progress bars with time elapsed
- 💾 State Persistence: Save and restore cracking session state
- 🎯 Smart Suggestions: Pattern-based password suggestions before main attack
graph TB
A[User Input] --> B[ScayForce CLI]
B --> C{File Type Detection}
C -->|ZIP| D[ZipCracker Class]
C -->|RAR| E[RarCracker Class]
D --> F{Attack Mode}
E --> F
F -->|Dictionary| G[Dictionary Attack]
F -->|Brute Force| H[Bruteforce Attack]
G --> I[Wordlist Parser]
H --> J[Password Generator]
I --> K[Multi-threaded Workers]
J --> K
K --> L[Password Validator]
L --> M{Password Found?}
M -->|Yes| N[Success Handler]
M -->|No| K
N --> O[Notifications]
N --> P[Logging]
N --> Q[Result Output]
style A fill:#4a90e2
style B fill:#50c878
style N fill:#ff6b6b
style K fill:#ffd93d
graph LR
subgraph "Core Components"
A[File Type Detector] --> B[ZipCracker]
A --> C[RarCracker]
B --> D[Worker Threads]
C --> D
end
subgraph "Support Systems"
E[Pattern Intelligence] --> F[Smart Suggestions]
G[Resume Manager] --> H[State Persistence]
I[Notification System] --> J[Desktop/Email]
K[Logging System] --> L[Result Files]
end
subgraph "User Interface"
M[Rich Console] --> N[Progress Bars]
M --> O[Live Feed]
M --> P[Beautiful Output]
end
D --> E
D --> G
D --> I
D --> K
D --> M
style A fill:#4a90e2
style D fill:#50c878
style M fill:#ffd93d
flowchart TD
Start([Start ScayForce]) --> Init[Initialize CLI & Banner]
Init --> LoadFile[Load Target File]
LoadFile --> Detect{Detect File Type}
Detect -->|ZIP| CheckZip[Check pyzipper installed]
Detect -->|RAR| CheckRar[Check rarfile installed]
CheckZip --> Validate[Validate File Exists]
CheckRar --> Validate
Validate --> AttackMode{Select Attack Mode}
AttackMode -->|Dictionary| DictMode[Dictionary Attack]
AttackMode -->|Brute Force| BruteMode[Bruteforce Attack]
DictMode --> LoadWordlist[Load Wordlist]
BruteMode --> GeneratePasswords[Generate Password Combinations]
LoadWordlist --> PatternCheck[Check Smart Patterns]
GeneratePasswords --> PatternCheck
PatternCheck --> TryPatterns{Try Smart Patterns First}
TryPatterns -->|Found| Success[Password Found!]
TryPatterns -->|Not Found| StartThreads[Start Worker Threads]
StartThreads --> MultiThread[Multi-threaded Password Attempts]
MultiThread --> TryPassword{Try Password}
TryPassword -->|Valid| Success
TryPassword -->|Invalid| UpdateProgress[Update Progress]
UpdateProgress --> SaveState{Save State?}
SaveState -->|Yes| PersistState[Persist to Resume File]
SaveState -->|No| CheckMore{More Passwords?}
PersistState --> CheckMore
CheckMore -->|Yes| TryPassword
CheckMore -->|No| Failure[Password Not Found]
Success --> Notify[Send Notifications]
Success --> Log[Log Results]
Success --> Display[Display Success Message]
Failure --> LogFailure[Log Failure]
Failure --> Exit([Exit])
Notify --> Exit
Log --> Exit
Display --> Exit
LogFailure --> Exit
style Start fill:#4a90e2
style Success fill:#50c878
style Failure fill:#ff6b6b
style MultiThread fill:#ffd93d
- Python 3.7 or higher
- pip (Python package manager)
# 1. Clone the repository
git clone https://github.com/scayar/ScayForce.git
cd ScayForce
# 2. Install dependencies
pip install -r requirements.txt
# 3. (Optional) Download a wordlist
python ScayForce.py --fetch-wordlist rockyou.txt# Dictionary attack on a ZIP file
python ScayForce.py --file archive.zip --dictionary --wordlist rockyou.txt
# Brute-force attack (numbers only, max length 4)
python ScayForce.py --file archive.zip --bruteforce --charset 0123456789 --max-length 4Use a wordlist file to try common passwords:
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txtOptions:
--file: Path to your ZIP or RAR file--dictionary: Enable dictionary attack mode--wordlist: Path to your wordlist file
Try all possible combinations:
python ScayForce.py --file encrypted.zip --bruteforce --charset 0123456789abcdef --max-length 6Options:
--bruteforce: Enable brute-force attack mode--charset: Characters to use (default: alphanumeric)--max-length: Maximum password length to try
Resume interrupted sessions:
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --resumeSee every password attempt in real-time:
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --verboseIncrease threads for faster cracking:
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --threads 8Get notified when password is found:
# Desktop notification (automatic)
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --notify
# Email notification
python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --notify-email your@email.com| Option | Description | Default | Example |
|---|---|---|---|
--file |
Path to ZIP/RAR file | Required | --file archive.zip |
--dictionary |
Use dictionary attack | - | --dictionary |
--wordlist |
Path to wordlist file | Required with --dictionary |
--wordlist rockyou.txt |
--bruteforce |
Use brute-force attack | - | --bruteforce |
--charset |
Characters for brute-force | alphanumeric | --charset 0123456789 |
--max-length |
Max password length | 4 | --max-length 6 |
--threads |
Number of threads | 4 | --threads 8 |
--resume |
Resume from last session | Disabled | --resume |
--verbose |
Show all attempts | Disabled | --verbose |
--notify |
Desktop notification | Disabled | --notify |
--notify-email |
Email notification | - | --notify-email user@mail.com |
--fetch-wordlist |
Download wordlist | - | --fetch-wordlist rockyou.txt |
--log |
Log file path | crack_results.log |
--log mylog.log |
# Use all CPU cores
python ScayForce.py --file archive.zip --dictionary --wordlist rockyou.txt --threads $(nproc)
# Optimize for specific charset
python ScayForce.py --file archive.zip --bruteforce --charset "0123456789" --max-length 4
# Combine resume with verbose for long sessions
python ScayForce.py --file archive.zip --dictionary --wordlist rockyou.txt --resume --verbosegraph LR
A[Password Attempt Speed] --> B{Attack Type}
B -->|Dictionary| C[~100-1000/sec]
B -->|Brute Force| D[~500-5000/sec]
E[Thread Count] --> F{Performance Impact}
F -->|4 threads| G[Standard]
F -->|8 threads| H[Fast]
F -->|16 threads| I[Very Fast]
J[File Type] --> K{Encryption}
K -->|AES-256 ZIP| L[Slower]
K -->|Standard ZIP| M[Faster]
K -->|RAR| N[Medium]
style C fill:#50c878
style D fill:#ffd93d
style I fill:#ff6b6b
- Dictionary Attack: 100-1,000 passwords/second (depends on file size and encryption)
- Brute-Force Attack: 500-5,000 passwords/second
- Multi-threading: Linear scaling with thread count (up to CPU cores)
- Memory Usage: Low (<100MB for typical wordlists)
A sample ZIP file (test.zip) is included for testing. The password is 123321.
# 1. Download wordlist (if not already downloaded)
python ScayForce.py --fetch-wordlist rockyou.txt
# 2. Run dictionary attack
python ScayForce.py --file test.zip --dictionary --wordlist rockyou.txt
# 3. Or try brute-force (faster for this simple password)
python ScayForce.py --file test.zip --bruteforce --charset 0123456789 --max-length 6# Create a test ZIP with password
zip -P password123 test.zip file1.txt file2.txt
# Create a test RAR with password
rar a -psecret456 test.rar file1.txt file2.txtThis tool is for educational and authorized security testing purposes only.
- ✅ Use only on files you own or have explicit permission to test
- ✅ Use for legitimate password recovery (forgotten passwords)
- ✅ Use in authorized penetration testing environments
- ❌ Do NOT use on systems or archives without permission
- ❌ Do NOT use for illegal activities
- ❌ Do NOT violate any laws or regulations
- Always keep wordlists and logs secure
- Use strong passwords for your archives
- Regularly update dependencies
- Review code before using in production environments
Scayar
- 🌐 Website: Scayar.com
- 📧 Email: Scayar.exe@gmail.com
- 💬 Telegram: @im_scayar
- ☕ Buy Me a Coffee: buymeacoffee.com/scayar
- Built with ❤️ by Scayar
- Uses Rich for beautiful terminal output
- Supports pyzipper for ZIP handling
- Uses rarfile for RAR support
All rights reserved © Scayar
If you find ScayForce useful, please:
- ⭐ Star this repository
- 🐛 Report bugs and issues
- 💡 Suggest new features
- 📣 Share with your friends
- ☕ Buy me a coffee
Made with ❤️ by Scayar
Happy Cracking! 🔓
