openwall / openwall/john

Add bash completion for dynamic compiler formats

Open
#1,716 26 comments 0 reactions 1 assignee View on GitHub

@frank-dittrich is already working on this.

Since Aug 30, 2015.

enhancement
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

This is half a joke and half serious. If we brainstorm a little, maybe we find out it's actually possible.

It would be very cool to

$ ../run/john -test -form:dynamic='<TAB><TAB>

and get

$ ../run/john -test -form:dynamic='
gost  haval128_3  haval128_4  haval128_5  haval160_3  haval160_4  haval160_5  
haval192_3  haval192_4  haval192_5  haval224_3  haval224_4  haval224_5  
haval256_3  haval256_4  haval256_5  keccak_256  keccak_512  md2  md4  md5  
panama  peoplesoft,  ripemd128  ripemd160  ripemd256  ripemd320  sha1  sha224  
sha256  sha384  sha3_224  sha3_256  sha3_384  sha3_512  sha512  skein224  
skein256  skein384  skein512  tiger  whirlpool
$ ../run/john -test -form:dynamic='_

and so on

$ ../run/john -test -form:dynamic='sha<TAB><TAB>
sha1  sha224  sha256  sha384  sha3_224  sha3_256  sha3_384  sha3_512  sha512
$ ../run/john -test -form:dynamic='sha_

As always with bash completion, it's not so much about saving a keypress. It's about listing the alternatives in a super convenient way.

I'm a bit worried the (mandatory) single-quote makes it harder though. Not that I have any other source for my worries than gut feeling.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.