Welcome to ZipPasswordCracker, a powerful tool designed to crack passwords of encrypted zip files by traversing all possible password combinations.
- Multi-threaded CPU/GPU operations:
- Leverage CUDA for GPU acceleration and multi-threading for CPU parallelism
- Pipeline architecture for simutaneous GPU candidate generation and CPU validation
- Password character set support:
- Numeric passwords: Initial suport for numeric-only passwords (0-9).
- Expanded character sets: Added support for letters (a-z, A-Z) and special characters.
- AES encryption compatibility: Works with zip files encrypted using the AES method.
- Configuration file: Customize settings via a
config.tomlfile for seamless operation
-
Compilers:
gcc(GNU11 standard)g++(C++20 standard)nvcc(CUDA toolkit)cargo(Rust compler for validation component)
-
Steps
- Clone the repository:
git clone https://github.com/LipidL/ZipPasswordCracker cd ZipPasswordCracker- Build the project
make
this will compile:
- CUDA kernel for password candidate generation
- C++ host code for pipeline management
- Rust component (compiled to a dynamic library) for password validation
-
Add the current directory to
$LD_LIBRARY_PATHto make sure that the OS can load the compled dynamic library while running the program -
Configure settings in
config.tomlYou can generate a defaultconfig.tomlby running
./cracker_cuda init
- Run the tool
./cracker_cuda
We're constantly working to improve ZipPasswordCracker. Here are some features we're planning to add:
- 7z support: Extend cracking capabilities to 7z files.
- Progress bar: Add a progress bar for real-time status monitoring.
- The C++/CUDA core generates password candidates on the GPU.
- A Rust comiled dynamic library validates candidates against the zip file using the
zipcrate.
- C++: Requires C++20 for template metaprogramming.
- Rust: Uses the
zipcrate for validation - TOML Parsing: Uses
toml11(C++ TOML library) for configuration
This project uses the zip crate from Rust for validating passwords after CUDA validation. The zip crate can be found at crates.io.
This project also uses the toml11 package for configuration file parsing. The toml11 package can be found at github.