progpick(1) General Commands Manual progpick(1)

progpick - Bruteforce with a stream of permutations of a specific pattern

progpick [-vqc] [-e cmd] PATTERN

progpick is a program to generate permutations of an explicitly provided pattern. It's useful if you forgot some details about a passphrase but you still remember most of it.

-v, --verbose

Verbose logs (can be used multiple times, maximum: 4)

-q, --quiet

Do not print progress bar

-c, --count

Count total number of permutations instead of printing them

-e cmd, --exec cmd

Send permutations to stdin of a subprocess. cmd is parsed into a list of arguments and then executed directly instead of going through /bin/sh, so shell quoting works, but other shell features don't.

-h, --help

Prints help information.

Generate all combinations from a-z with a length of 5

progpick '{a..z}{a..z}{a..z}{a..z}{a..z}'

With progress bar

progpick '{a..z}{a..z}{a..z}{a..z}{a..z}' > /dev/null

Without progress bar

progpick -q '{a..z}{a..z}{a..z}{a..z}{a..z}' > /dev/null

To make a character optional

progpick '{a..z}{{a..z},}'

From a-z and 0-9

progpick '{{a..z},{0..9}}'

Run a script for each result

progpick 'a{b,c{d,e{f,g}}}' | while read -r x; do
./script "$x"

Send the result to stdin of a script

progpick -e './' 'a{b,c{d,e{f,g}}}'

Attempt to open a luks partition

sudo progpick -e 'cryptsetup open --test-passphrase /dev/sdc1' 'a{b,c{d,e{f,g}}}'

This program was originally written and is currently maintained by kpcyrd. Bug reports and patches are welcome on github: