python3 guess_works.py
| Argument | Description |
|---|---|
-e, --essid |
Target ESSID (e.g., BELL123456) |
-a, --area |
Area code for phone number guesses (e.g., 416) |
-s, --street |
Street name (e.g., Main, KingWest) |
-o, --output |
File to save the generated passwords |
--seasons |
Include seasonal guesses |
--months |
Include month/year combinations |
--holidays |
Include holiday-based guesses |
--names |
Include popular names + years |
--events |
Include global event-related patterns |
--sports |
Include sports teams + years |
--no-year |
Exclude year suffix from guesses |
--add-numbers |
Append numbers 1-N to each generated string (default 1–1000) |
--clean-length |
Remove lines under 8 characters long |
--clean-numbers |
Remove lines containing only numbers |
--capitalize |
Capitalize the first character of each line (skips numbers) |
--filler |
Adds junk numeric strings to the start and end of file |
--filler-count |
Total filler lines (default: 7000, 5000 start + 2000 end) |
-
# 1. Generate guesses for a specific ESSID python3 guess_works.py -e BELL123456 --seasons --holidays --output bell_guesses.txt # 2. Generate guesses based on a Canadian area code python3 guess_works.py -a 416 --add-numbers 50 --output phone_guesses.txt # 3. Generate guesses using street names and popular names python3 guess_works.py -s KingWest --names --no-year --output street_name_guesses.txt # 4. Generate guesses for sports teams and global events python3 guess_works.py --sports --events --capitalize --output event_sports_guesses.txt # 5. Generate a full mixed list with cleaning applied python3 guess_works.py -e VIRGIN123 --seasons --months --holidays --names --events --sports \ --clean-length --clean-numbers --output full_wordlist.txt
gw_aircrack.pygenerates enhanced password variants on-the-fly and can be piped straight intoaircrack-ngwithout creating a large intermediate file.
| Flag | Description |
|---|---|
-i, --input |
Input wordlist file (required) |
--leet |
Apply leetspeak substitutions |
--suffix |
Append common suffixes (numbers, symbols, etc.) |
--prefix |
Add common prefixes (!, VIP, etc.) |
--toggle |
Randomly toggle character case |
--max |
Optional maximum number of variants to generate |
-
# 1. Generate with leetspeak + suffixes, pipe to aircrack-ng: python3 gw_aircrack.py -i base_words.txt --leet --suffix | aircrack-ng -w- -b <BSSID> capture.cap # 2. Apply all enhancements and limit to 50,000 variants: python3 gw_aircrack.py -i base_words.txt --leet --suffix --prefix --toggle --max 50000 | aircrack-ng -w- -b <BSSID> capture.cap # 3. Use without enhancements (just pass the base wordlist to aircrack-ng): python3 gw_aircrack.py -i base_words.txt | aircrack-ng -w- -b <BSSID> capture.cap
python3 gw_enhancer.pyapplies leetspeak, prefixes, suffixes, and case toggling to an existing wordlist to generate realistic password variants.
python3 gw_enhancer.py -i base_words.txt -o enhanced.txt --leet --suffix --prefix --toggle| Flag | Description |
|---|---|
-i, --input |
Input file with base words (required) |
-o, --output |
Output file to save enhanced wordlist (required unless --overwrite) |
--leet |
Apply leetspeak substitutions |
--suffix |
Append common suffixes (numbers, symbols, etc.) |
--prefix |
Add common prefixes (!, VIP, etc.) |
--toggle |
Randomly toggle character case for realism |
--overwrite |
Overwrite input file instead of writing to output |
--max |
Max number of generated variants (default very high) |
-
# 1. Enhance with leetspeak and suffixes: python3 gw_enhancer.py -i base_words.txt -o enhanced.txt --leet --suffix # 2. Add prefixes and toggle case: python3 gw_enhancer.py -i base_words.txt -o enhanced.txt --prefix --toggle # 3. Apply all enhancements: python3 gw_enhancer.py -i base_words.txt -o enhanced.txt --leet --suffix --prefix --toggle # 4. Overwrite the original wordlist: python3 gw_enhancer.py -i base_words.txt --overwrite --leet --suffix # 5. Limit output to 10,000 variants: python3 gw_enhancer.py -i base_words.txt -o enhanced.txt --leet --suffix --max 10000
python3 gw_merge.py
This script combines all .txt files in the current directory, removes duplicates, sorts them, and saves the result to wordlist_clean.txt:
#!/usr/bin/env python3
import glob
output_file = "wordlist_clean.txt"
all_lines = set()
for filename in glob.glob("*.txt"):
with open(filename, "r", encoding="utf-8", errors="ignore") as f:
for line in f:
line = line.strip()
if line:
all_lines.add(line)
with open(output_file, "w", encoding="utf-8") as f:
for line in sorted(all_lines):
f.write(line + "\n")
print(f"[+] Combined {len(all_lines)} unique lines into {output_file}")