qrack
Simple bruteforcer for CrackMe binaries / CTF challegne solver
qrack is a simple bruteforcer for cracking simple binary executable files, commonly known as "CrackMe" challenges. It features a user-friendly terminal interface built with Bubble Tea.
https://github.com/user-attachments/assets/f0c02036-e36c-4024-b16a-bacc6e02126f
๐ ๏ธ Installation
๐ฆ Binary Releases
Pre-compiled binaries for Linux, Windows, and macOS are available on the Releases page.
๐นUsing Go
You can install qrack directly using go install:
go install github.com/qrxnz/qrack@latest
๐๏ธ Build from Source
To build from source, you need to have Go installed.
git clone https://github.com/qrxnz/qrack.git
cd qrack
go build -o qrack .
Alternatively, if you have Task installed, you can use:
task build
โ๏ธ Using Nix
nix run github:qrxnz/qrack
Add input in your flake like:
{
inputs = {
qrack = {
url = "github:qrxnz/qrack";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}
With the input added you can reference it directly:
{ inputs, system, ... }:
{
# NixOS
environment.systemPackages = [ inputs.qrack.packages.${pkgs.system}.default ];
# home-manager
home.packages = [ inputs.qrack.packages.${pkgs.system}.default ];
}
nix profile install github:qrxnz/qrack
๐ Usage
Run the application with the following command, providing the necessary flags.
./qrack --dictionary <path> --binary <path> [flags]
Flags
| Flag |
Description |
Default |
Required |
--dictionary |
Path to the dictionary file (wordlist). |
|
Yes |
--binary |
Path to the binary executable to crack. |
|
Yes |
--pattern |
The success pattern to look for in the output. |
"Password correct!" |
No |
--concurrency |
Number of concurrent workers to use. |
4 |
No |
Example
./qrack \
--dictionary /usr/share/wordlists/rockyou.txt \
--binary ./example_crackme/test_crackme \
--pattern "Password" \
--concurrency 8
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.