mirror of
https://github.com/autistic-symposium/sec-pentesting-toolkit.git
synced 2025-04-28 03:26:08 -04:00
29 lines
862 B
Python
29 lines
862 B
Python
#!/usr/bin/env python
|
|
#-*- coding:utf-8 -*-
|
|
|
|
from docopt import docopt
|
|
|
|
from routine import parse_char
|
|
|
|
|
|
class ArgError(Exception):
|
|
pass
|
|
|
|
|
|
def parse_parameters(doc, version):
|
|
p = docopt(doc, version=version)
|
|
p = {k.lstrip("-"): v for k, v in p.items()}
|
|
try:
|
|
return {
|
|
"input_is_hex": bool(p["hex"]),
|
|
"max_key_length": int(p["max-keylen"]),
|
|
"known_key_length": int(p["key-length"]) if p["key-length"] else None,
|
|
"most_frequent_char": parse_char(p["char"]) if p["char"] else None,
|
|
"brute_chars": bool(p["brute-chars"]),
|
|
"brute_printable": bool(p["brute-printable"]),
|
|
"frequency_spread": 0, # to be removed
|
|
"filename": p["FILE"] if p["FILE"] else "-", # stdin by default
|
|
}
|
|
except ValueError as err:
|
|
raise ArgError(str(err))
|