Skip to content

ScayForce is a modern ZIP/RAR password cracker with smart pattern intelligence, auto-resume, wordlist auto-download, live progress, and notifications. Fast, powerful, and stylish—perfect for ethical hackers and anyone recovering archive passwords.

License

Notifications You must be signed in to change notification settings

Scayar/ScayForce

Repository files navigation

ScayForce

🚀 ScayForce

The Ultimate Modern Password Cracker for ZIP/RAR Archives
A powerful, feature-rich password recovery tool with beautiful CLI and advanced cracking capabilities

Python License Status


📋 Table of Contents


✨ Features

Core Capabilities

  • 🎯 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)

User Experience

  • 🎨 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

Technical Excellence

  • 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

🏗️ Architecture

System Architecture Diagram

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
Loading

Component Overview

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
Loading

🔄 Workflow

Cracking Process Flow

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
Loading

🚀 Quick Start

Prerequisites

  • Python 3.7 or higher
  • pip (Python package manager)

Installation

# 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

Basic Usage

# 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 4

🧑‍💻 Usage Guide

1️⃣ Dictionary Attack (Recommended)

Use a wordlist file to try common passwords:

python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt

Options:

  • --file: Path to your ZIP or RAR file
  • --dictionary: Enable dictionary attack mode
  • --wordlist: Path to your wordlist file

2️⃣ Brute-Force Attack

Try all possible combinations:

python ScayForce.py --file encrypted.zip --bruteforce --charset 0123456789abcdef --max-length 6

Options:

  • --bruteforce: Enable brute-force attack mode
  • --charset: Characters to use (default: alphanumeric)
  • --max-length: Maximum password length to try

3️⃣ With Auto-Resume

Resume interrupted sessions:

python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --resume

4️⃣ Verbose Mode

See every password attempt in real-time:

python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --verbose

5️⃣ Multi-threading

Increase threads for faster cracking:

python ScayForce.py --file encrypted.zip --dictionary --wordlist rockyou.txt --threads 8

6️⃣ With Notifications

Get 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

🛠️ Advanced Options

Complete Option Reference

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

Performance Optimization Tips

# 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 --verbose

📊 Performance

Performance Characteristics

graph 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
Loading

Expected Performance

  • 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)

🧪 Testing

Quick Test with Included Sample

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

Creating Test Archives

# 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.txt

🛡️ Security & Disclaimer

⚠️ Legal Notice

This 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

Security Best Practices

  • Always keep wordlists and logs secure
  • Use strong passwords for your archives
  • Regularly update dependencies
  • Review code before using in production environments

📞 Credits

Author

Scayar

Acknowledgments

  • Built with ❤️ by Scayar
  • Uses Rich for beautiful terminal output
  • Supports pyzipper for ZIP handling
  • Uses rarfile for RAR support

License

All rights reserved © Scayar


⭐️ Support the Project

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! 🔓

About

ScayForce is a modern ZIP/RAR password cracker with smart pattern intelligence, auto-resume, wordlist auto-download, live progress, and notifications. Fast, powerful, and stylish—perfect for ethical hackers and anyone recovering archive passwords.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages