Skip to content

CrunchX is a fast and flexible tool for generating custom wordlists with powerful features for penetration testers, CTF players, and security enthusiasts.

License

Notifications You must be signed in to change notification settings

amirroox/crunchX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrunchX - Advanced Wordlist Generator

CrunchX is a fast and flexible tool for generating custom wordlists with powerful features for penetration testers, CTF players, and security enthusiasts.


🚀 Basic Usage

./crunchX <min> <max> <charset/options>
  • <min>: Minimum password length
  • <max>: Maximum password length
  • <charset/options>: Define characters, patterns, filters, and more

📦 Available Flags

🎯 Core Options

Flag Description
-b <size> Maximum number of bytes to write to the output file (e.g. -b 1000000)
-c <number>, --count <number> Limit the total number of passwords generated
-t <pattern> Generate based on a pattern (e.g. @%@ → lowercase, digit, lowercase)
Pattern symbols:
@ = lowercase, , = uppercase, % = digits, ^ = symbols
-l <chars> Define literal characters for use with @, ,, %, ^ (e.g. -l az09)
-d <n>[@,%^] Prevent more than n adjacent duplicate characters of the specified type
-e <string> Stop generation when this exact password is reached
-f <file> <name> Load charset from file by name (e.g. charsets.txt with lower=abcd)
-i Invert generation order (currently placeholder only)
-o <file>, --output <file> Output file path
-p Generate all permutations without repeating characters
-q <file> Load strings from file for permutation generation
-r, --resume-file <file> Resume from the last password in the previous output
-s <string> Start generating from a specific password
-u Disable progress percentage display
-z <type>, --zip <type> Compress output (gzip, bzip2, lzma, 7z)

🧠 Advanced Options

Flag Description
--target-info <info> Generate passwords based on target-specific data (name, DOB, etc.)
--dict <file> Use a dictionary wordlist
--suffix <pattern> Add suffixes to dictionary words
--add-after <text> Add prefix to password
--add-before <text> aff suffix to password
--filter Filter passwords based on complexity (weak/medium/strong)
--estimate Estimate size of the generated output
--split <size> Split output into multiple files of given size

🚀 Build

g++ main.cpp -o main         # linux
g++ main.cpp -o main.exe     # windows

OR

Download Release :)


📄 Examples

  • Simplest usage – Generate a list of passwords from 1 to 5 characters using all lowercase letters and digits:
crunchx.exe 1 5  # Windows
./crunchx 1 5    # Linux
  • Custom character set:
crunchx.exe 1 5 "ABC123xyz"  # Windows
./crunchx 1 5 "ABC123xyz"    # Linux
  • Output passwords to a file:
crunchx.exe 1 5 "ABC123xyz" -o pass.txt         # Windows
./crunchx 1 5 "ABC123xyz" --output pass.txt     # Linux
  • Limit the number of generated passwords:
crunchx.exe 1 5 -c 5000       # Windows
./crunchx 1 5 --count 5000    # Linux
  • Limit output file size – use k for kilobytes, m for megabytes, and g for gigabytes:
crunchx.exe 1 5 -o test.txt -b 1048576  # Windows
./crunchx 1 5 -o test.txt -b "1m"       # Linux
  • Pattern-based password generation@ = lowercase, , = uppercase, % = digit, ^ = symbol. Use -l with a fixed-length set of characters to customize allowed characters:
crunchx.exe 5 5 -l abcdefg1234 -t "@@@%%"  # Windows
./crunchx 5 5 -l abcdefg1234 -t "@@@%%"   # Linux
  • Limit the number of specific character types@ = lowercase, , = uppercase, % = digit, ^ = symbol (not fully implemented yet ×):
crunchx.exe 1 5 -d "2@"   # Windows
./crunchx 1 5 -d "2@"     # Linux
  • Stop generation after reaching a specific keyword:
crunchx.exe 1 4 abcdefghijklm -e "jjjj"   # Windows
./crunchx 1 4 abcdefghijklm -e "jjjj"     # Linux
  • Load custom characters from a file:
crunchx.exe 1 5 -f file.txt -o test.txt   # Windows
./crunchx 1 5 -f file.txt -o test.txt     # Linux
  • Generate passwords in reverse order:
crunchx.exe 1 5 -i -o pass.txt  # Windows
./crunchx 1 5 -i -o pass.txt    # Linux
  • Generate passwords without character repetition:
crunchx.exe 1 5 -p -o file.txt  # Windows
./crunchx 1 5 -p -o file.txt    # Linux
  • Read strings from a file (incomplete ×):
crunchx.exe 1 5 -p -o file.txt -q f.txt   # Windows
./crunchx 1 5 -p -o file.txt -q f.txt     # Linux
  • Resume password generation from an output file:
crunchx.exe 1 5 -r last_file.txt -o file.txt                # Windows
./crunchx 1 5 --resume-file last_file.txt -o file.txt      # Linux
  • Start generation from a specific string:
crunchx.exe 1 5 abcdefg -e "eeee"   # Windows
./crunchx 1 5 abcdefg -e "eeee"     # Linux
  • Disable progress percentage display – works only when -c flag is used:
crunchx.exe 1 12 abcdefghij -c 10000000 -u   # Windows
./crunchx 1 12 abcdefghij -c 10000000 -u     # Linux
  • Compress output file – Requires proper tools installed (gzip, bzip2, lzma, 7z). Output file must be specified:
crunchx.exe 1 5 -o file.txt --zip       # Windows
./crunchx 1 5 -o file.txt --zip gzip    # Linux
  • Generate variations of your target list – use + at the end to include all case variations and permutations:
crunchx.exe --target-info "dani 2002 roox" -o target.txt    # Windows
./crunchx --target-info "dani 2002 roox+" -o target.txt     # Linux
  • Generate random passwords from a dictionary file--dict and --suffix work together (not fully functional ×):
crunchx.exe --dict .\t.txt --suffix "{num}{sym}" -o jj.txt   # Windows
./crunchx --dict .\t.txt --suffix "{num}{sym}" -o jj.txt     # Linux
  • Add a specific word after each password:
crunchx.exe 1 3 --add-after "amir"   # Windows
./crunchx 1 3 --add-after "amir"     # Linux
  • Add a specific word before each password:
crunchx.exe 1 3 --add-before "dani"   # Windows
./crunchx 1 3 --add-before "dani"     # Linux
  • Display strength of generated passwords:
crunchx.exe 1 5 --filter   # Windows
./crunchx 1 5 --filter     # Linux
  • Estimate output size:
crunchx.exe 1 5 --estimate   # Windows
./crunchx 1 5 --estimate     # Linux
  • Split large output files into parts – Output must be specified:
crunchx.exe 1 4 -o jj.txt --split "1m"   # Windows
./crunchx 1 4 -o jj.txt --split "1m"     # Linux

📁 Charset File Format (for -f)

Example charsets.txt:

lower=abcd
upper=ABCD
digits=0123

💡 Tips

  • To limit resource usage, always use -c, -b, or --count
  • For large outputs, combine --split and --zip for manageability

⚖️ Speed comparison crunch vs crunchX

Compare crunch vs crunchX


👨‍💻 Author

Created by AmirRoox — crafted for speed, flexibility, and real-world use in security and automation tasks.


🤝 Contributing

Feel free to fork and open PRs. Suggestions and improvements are welcome!


✅ Status

All documented flags are implemented and functional.

Generate smarter. Generate stronger. 🔐

About

CrunchX is a fast and flexible tool for generating custom wordlists with powerful features for penetration testers, CTF players, and security enthusiasts.

Topics

Resources

License

Stars

Watchers

Forks