mirror of
https://github.com/hashcat/hashcat
synced 2024-11-13 17:28:58 +01:00
fixes #1321: new option --wordlist-autohex-disable
This commit is contained in:
parent
79a0345430
commit
bc1a101d2b
@ -14,6 +14,7 @@
|
||||
- Added option --length-limit-disable to disable optimization based on password- and salt-length
|
||||
- Added self-test functionality for OpenCL kernels on startup
|
||||
- Added option --self-test-disable to disable self-test functionality on startup
|
||||
- Added option --wordlist-autohex-disable to disable the automatical conversion of $HEX[] words from the word list
|
||||
|
||||
##
|
||||
## Bugs
|
||||
|
@ -189,7 +189,7 @@ _hashcat ()
|
||||
local BUILD_IN_CHARSETS='?l ?u ?d ?a ?b ?s ?h ?H'
|
||||
|
||||
local SHORT_OPTS="-m -a -V -v -h -b -t -o -p -c -d -w -n -u -j -k -r -g -1 -2 -3 -4 -i -I -s -l -O"
|
||||
local LONG_OPTS="--hash-type --attack-mode --version --help --quiet --benchmark --hex-salt --hex-wordlist --hex-charset --force --status --status-timer --machine-readable --loopback --weak-hash-threshold --markov-hcstat --markov-disable --markov-classic --markov-threshold --runtime --session --speed-only --progress-only --restore --restore-file-path --restore-disable --outfile --outfile-format --outfile-autohex-disable --outfile-check-timer --outfile-check-dir --separator --show --left --username --remove --remove-timer --potfile-disable --potfile-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --opencl-info --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-disable --gpu-temp-abort --gpu-temp-retain --powertune-enable --skip --limit --keyspace --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment --increment-min --increment-max --logfile-disable --scrypt-tmto --truecrypt-keyfiles --stdout --keep-guessing --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to --optimized-kernel-enable --self-test-disable"
|
||||
local LONG_OPTS="--hash-type --attack-mode --version --help --quiet --benchmark --hex-salt --hex-wordlist --hex-charset --force --status --status-timer --machine-readable --loopback --weak-hash-threshold --markov-hcstat --markov-disable --markov-classic --markov-threshold --runtime --session --speed-only --progress-only --restore --restore-file-path --restore-disable --outfile --outfile-format --outfile-autohex-disable --outfile-check-timer --outfile-check-dir --wordlist-autohex-disable --separator --show --left --username --remove --remove-timer --potfile-disable --potfile-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --opencl-info --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-disable --gpu-temp-abort --gpu-temp-retain --powertune-enable --skip --limit --keyspace --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment --increment-min --increment-max --logfile-disable --scrypt-tmto --truecrypt-keyfiles --stdout --keep-guessing --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to --optimized-kernel-enable --self-test-disable"
|
||||
local OPTIONS="-m -a -t -o -p -c -d -w -n -u -j -k -r -g -1 -2 -3 -4 -s -l --hash-type --attack-mode --status-timer --weak-hash-threshold --markov-hcstat --markov-threshold --runtime --session --timer --outfile --outfile-format --outfile-check-timer --outfile-check-dir --separator --remove-timer --potfile-path --restore-file-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-abort --gpu-temp-retain -disable --skip --limit --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment-min --increment-max --scrypt-tmto --truecrypt-keyfiles --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to --optimized-kernel-enable --self-test-disable"
|
||||
|
||||
COMPREPLY=()
|
||||
|
189
include/types.h
189
include/types.h
@ -509,72 +509,73 @@ typedef enum progress_mode
|
||||
|
||||
typedef enum user_options_defaults
|
||||
{
|
||||
ADVICE_DISABLE = false,
|
||||
ATTACK_MODE = ATTACK_MODE_STRAIGHT,
|
||||
BENCHMARK = false,
|
||||
BITMAP_MAX = 24,
|
||||
BITMAP_MIN = 16,
|
||||
DEBUG_MODE = 0,
|
||||
FORCE = false,
|
||||
GPU_TEMP_ABORT = 90,
|
||||
GPU_TEMP_DISABLE = false,
|
||||
GPU_TEMP_RETAIN = 75,
|
||||
HASH_MODE = 0,
|
||||
HCCAPX_MESSAGE_PAIR = 0,
|
||||
HEX_CHARSET = false,
|
||||
HEX_SALT = false,
|
||||
HEX_WORDLIST = false,
|
||||
INCREMENT = false,
|
||||
INCREMENT_MAX = PW_MAX,
|
||||
INCREMENT_MIN = 1,
|
||||
KEEP_GUESSING = false,
|
||||
KERNEL_ACCEL = 0,
|
||||
KERNEL_LOOPS = 0,
|
||||
KEYSPACE = false,
|
||||
LEFT = false,
|
||||
LIMIT = 0,
|
||||
LOGFILE_DISABLE = false,
|
||||
LOOPBACK = false,
|
||||
MACHINE_READABLE = false,
|
||||
MARKOV_CLASSIC = false,
|
||||
MARKOV_DISABLE = false,
|
||||
MARKOV_THRESHOLD = 0,
|
||||
NONCE_ERROR_CORRECTIONS = 8,
|
||||
NVIDIA_SPIN_DAMP = 100,
|
||||
OPENCL_VECTOR_WIDTH = 0,
|
||||
OPTIMIZED_KERNEL_ENABLE = false,
|
||||
OUTFILE_AUTOHEX = true,
|
||||
OUTFILE_CHECK_TIMER = 5,
|
||||
OUTFILE_FORMAT = 3,
|
||||
POTFILE_DISABLE = false,
|
||||
POWERTUNE_ENABLE = false,
|
||||
QUIET = false,
|
||||
REMOVE = false,
|
||||
REMOVE_TIMER = 60,
|
||||
RESTORE = false,
|
||||
RESTORE_DISABLE = false,
|
||||
RESTORE_TIMER = 60,
|
||||
RP_GEN = 0,
|
||||
RP_GEN_FUNC_MAX = 4,
|
||||
RP_GEN_FUNC_MIN = 1,
|
||||
RP_GEN_SEED = 0,
|
||||
RUNTIME = 0,
|
||||
SCRYPT_TMTO = 0,
|
||||
SELF_TEST_DISABLE = false,
|
||||
SEGMENT_SIZE = 33554432,
|
||||
SEPARATOR = ':',
|
||||
SHOW = false,
|
||||
SKIP = 0,
|
||||
STATUS = false,
|
||||
STATUS_TIMER = 10,
|
||||
STDOUT_FLAG = false,
|
||||
SPEED_ONLY = false,
|
||||
PROGRESS_ONLY = false,
|
||||
USAGE = false,
|
||||
USERNAME = false,
|
||||
VERSION = false,
|
||||
WEAK_HASH_THRESHOLD = 100,
|
||||
WORKLOAD_PROFILE = 2,
|
||||
ADVICE_DISABLE = false,
|
||||
ATTACK_MODE = ATTACK_MODE_STRAIGHT,
|
||||
BENCHMARK = false,
|
||||
BITMAP_MAX = 24,
|
||||
BITMAP_MIN = 16,
|
||||
DEBUG_MODE = 0,
|
||||
FORCE = false,
|
||||
GPU_TEMP_ABORT = 90,
|
||||
GPU_TEMP_DISABLE = false,
|
||||
GPU_TEMP_RETAIN = 75,
|
||||
HASH_MODE = 0,
|
||||
HCCAPX_MESSAGE_PAIR = 0,
|
||||
HEX_CHARSET = false,
|
||||
HEX_SALT = false,
|
||||
HEX_WORDLIST = false,
|
||||
INCREMENT = false,
|
||||
INCREMENT_MAX = PW_MAX,
|
||||
INCREMENT_MIN = 1,
|
||||
KEEP_GUESSING = false,
|
||||
KERNEL_ACCEL = 0,
|
||||
KERNEL_LOOPS = 0,
|
||||
KEYSPACE = false,
|
||||
LEFT = false,
|
||||
LIMIT = 0,
|
||||
LOGFILE_DISABLE = false,
|
||||
LOOPBACK = false,
|
||||
MACHINE_READABLE = false,
|
||||
MARKOV_CLASSIC = false,
|
||||
MARKOV_DISABLE = false,
|
||||
MARKOV_THRESHOLD = 0,
|
||||
NONCE_ERROR_CORRECTIONS = 8,
|
||||
NVIDIA_SPIN_DAMP = 100,
|
||||
OPENCL_VECTOR_WIDTH = 0,
|
||||
OPTIMIZED_KERNEL_ENABLE = false,
|
||||
OUTFILE_AUTOHEX = true,
|
||||
OUTFILE_CHECK_TIMER = 5,
|
||||
OUTFILE_FORMAT = 3,
|
||||
WORDLIST_AUTOHEX_DISABLE = false,
|
||||
POTFILE_DISABLE = false,
|
||||
POWERTUNE_ENABLE = false,
|
||||
QUIET = false,
|
||||
REMOVE = false,
|
||||
REMOVE_TIMER = 60,
|
||||
RESTORE = false,
|
||||
RESTORE_DISABLE = false,
|
||||
RESTORE_TIMER = 60,
|
||||
RP_GEN = 0,
|
||||
RP_GEN_FUNC_MAX = 4,
|
||||
RP_GEN_FUNC_MIN = 1,
|
||||
RP_GEN_SEED = 0,
|
||||
RUNTIME = 0,
|
||||
SCRYPT_TMTO = 0,
|
||||
SELF_TEST_DISABLE = false,
|
||||
SEGMENT_SIZE = 33554432,
|
||||
SEPARATOR = ':',
|
||||
SHOW = false,
|
||||
SKIP = 0,
|
||||
STATUS = false,
|
||||
STATUS_TIMER = 10,
|
||||
STDOUT_FLAG = false,
|
||||
SPEED_ONLY = false,
|
||||
PROGRESS_ONLY = false,
|
||||
USAGE = false,
|
||||
USERNAME = false,
|
||||
VERSION = false,
|
||||
WEAK_HASH_THRESHOLD = 100,
|
||||
WORKLOAD_PROFILE = 2,
|
||||
|
||||
} user_options_defaults_t;
|
||||
|
||||
@ -634,42 +635,43 @@ typedef enum user_options_map
|
||||
IDX_OUTFILE_CHECK_TIMER = 0xff22,
|
||||
IDX_OUTFILE_FORMAT = 0xff23,
|
||||
IDX_OUTFILE = 'o',
|
||||
IDX_POTFILE_DISABLE = 0xff24,
|
||||
IDX_POTFILE_PATH = 0xff25,
|
||||
IDX_POWERTUNE_ENABLE = 0xff26,
|
||||
IDX_QUIET = 0xff27,
|
||||
IDX_REMOVE = 0xff28,
|
||||
IDX_REMOVE_TIMER = 0xff29,
|
||||
IDX_RESTORE = 0xff2a,
|
||||
IDX_RESTORE_DISABLE = 0xff2b,
|
||||
IDX_RESTORE_FILE_PATH = 0xff2c,
|
||||
IDX_WORDLIST_AUTOHEX_DISABLE = 0xff24,
|
||||
IDX_POTFILE_DISABLE = 0xff25,
|
||||
IDX_POTFILE_PATH = 0xff26,
|
||||
IDX_POWERTUNE_ENABLE = 0xff27,
|
||||
IDX_QUIET = 0xff28,
|
||||
IDX_REMOVE = 0xff29,
|
||||
IDX_REMOVE_TIMER = 0xff2a,
|
||||
IDX_RESTORE = 0xff2b,
|
||||
IDX_RESTORE_DISABLE = 0xff2c,
|
||||
IDX_RESTORE_FILE_PATH = 0xff2d,
|
||||
IDX_RP_FILE = 'r',
|
||||
IDX_RP_GEN_FUNC_MAX = 0xff2d,
|
||||
IDX_RP_GEN_FUNC_MIN = 0xff2e,
|
||||
IDX_RP_GEN_FUNC_MAX = 0xff2e,
|
||||
IDX_RP_GEN_FUNC_MIN = 0xff2f,
|
||||
IDX_RP_GEN = 'g',
|
||||
IDX_RP_GEN_SEED = 0xff2f,
|
||||
IDX_RP_GEN_SEED = 0xff30,
|
||||
IDX_RULE_BUF_L = 'j',
|
||||
IDX_RULE_BUF_R = 'k',
|
||||
IDX_RUNTIME = 0xff30,
|
||||
IDX_SCRYPT_TMTO = 0xff31,
|
||||
IDX_SELF_TEST_DISABLE = 0xff32,
|
||||
IDX_RUNTIME = 0xff31,
|
||||
IDX_SCRYPT_TMTO = 0xff32,
|
||||
IDX_SELF_TEST_DISABLE = 0xff33,
|
||||
IDX_SEGMENT_SIZE = 'c',
|
||||
IDX_SEPARATOR = 'p',
|
||||
IDX_SESSION = 0xff33,
|
||||
IDX_SHOW = 0xff34,
|
||||
IDX_SESSION = 0xff34,
|
||||
IDX_SHOW = 0xff35,
|
||||
IDX_SKIP = 's',
|
||||
IDX_STATUS = 0xff35,
|
||||
IDX_STATUS_TIMER = 0xff36,
|
||||
IDX_STDOUT_FLAG = 0xff37,
|
||||
IDX_SPEED_ONLY = 0xff38,
|
||||
IDX_PROGRESS_ONLY = 0xff39,
|
||||
IDX_TRUECRYPT_KEYFILES = 0xff3a,
|
||||
IDX_USERNAME = 0xff3b,
|
||||
IDX_VERACRYPT_KEYFILES = 0xff3c,
|
||||
IDX_VERACRYPT_PIM = 0xff3d,
|
||||
IDX_STATUS = 0xff36,
|
||||
IDX_STATUS_TIMER = 0xff37,
|
||||
IDX_STDOUT_FLAG = 0xff38,
|
||||
IDX_SPEED_ONLY = 0xff39,
|
||||
IDX_PROGRESS_ONLY = 0xff3a,
|
||||
IDX_TRUECRYPT_KEYFILES = 0xff3b,
|
||||
IDX_USERNAME = 0xff3c,
|
||||
IDX_VERACRYPT_KEYFILES = 0xff3d,
|
||||
IDX_VERACRYPT_PIM = 0xff3e,
|
||||
IDX_VERSION_LOWER = 'v',
|
||||
IDX_VERSION = 'V',
|
||||
IDX_WEAK_HASH_THRESHOLD = 0xff3e,
|
||||
IDX_WEAK_HASH_THRESHOLD = 0xff3f,
|
||||
IDX_WORKLOAD_PROFILE = 'w'
|
||||
|
||||
} user_options_map_t;
|
||||
@ -1470,6 +1472,7 @@ typedef struct user_options
|
||||
bool opencl_info;
|
||||
bool optimized_kernel_enable;
|
||||
bool outfile_autohex;
|
||||
bool wordlist_autohex_disable;
|
||||
bool potfile_disable;
|
||||
bool powertune_enable;
|
||||
bool quiet;
|
||||
|
183
src/usage.c
183
src/usage.c
@ -24,97 +24,98 @@ static const char *USAGE_BIG[] =
|
||||
"",
|
||||
"- [ Options ] -",
|
||||
"",
|
||||
" Options Short / Long | Type | Description | Example",
|
||||
"===============================+======+======================================================+=======================",
|
||||
" -m, --hash-type | Num | Hash-type, see references below | -m 1000",
|
||||
" -a, --attack-mode | Num | Attack-mode, see references below | -a 3",
|
||||
" -V, --version | | Print version |",
|
||||
" -h, --help | | Print help |",
|
||||
" --quiet | | Suppress output |",
|
||||
" --hex-charset | | Assume charset is given in hex |",
|
||||
" --hex-salt | | Assume salt is given in hex |",
|
||||
" --hex-wordlist | | Assume words in wordlist are given in hex |",
|
||||
" --force | | Ignore warnings |",
|
||||
" --status | | Enable automatic update of the status screen |",
|
||||
" --status-timer | Num | Sets seconds between status screen updates to X | --status-timer=1",
|
||||
" --machine-readable | | Display the status view in a machine-readable format |",
|
||||
" --keep-guessing | | Keep guessing the hash after it has been cracked |",
|
||||
" --self-test-disable | | Disable self-test functionality on startup |",
|
||||
" --loopback | | Add new plains to induct directory |",
|
||||
" --weak-hash-threshold | Num | Threshold X when to stop checking for weak hashes | --weak=0",
|
||||
" --markov-hcstat | File | Specify hcstat file to use | --markov-hc=my.hcstat",
|
||||
" --markov-disable | | Disables markov-chains, emulates classic brute-force |",
|
||||
" --markov-classic | | Enables classic markov-chains, no per-position |",
|
||||
" -t, --markov-threshold | Num | Threshold X when to stop accepting new markov-chains | -t 50",
|
||||
" --runtime | Num | Abort session after X seconds of runtime | --runtime=10",
|
||||
" --session | Str | Define specific session name | --session=mysession",
|
||||
" --restore | | Restore session from --session |",
|
||||
" --restore-disable | | Do not write restore file |",
|
||||
" --restore-file-path | File | Specific path to restore file | --restore-file-path=my.restore",
|
||||
" -o, --outfile | File | Define outfile for recovered hash | -o outfile.txt",
|
||||
" --outfile-format | Num | Define outfile-format X for recovered hash | --outfile-format=7",
|
||||
" --outfile-autohex-disable | | Disable the use of $HEX[] in output plains |",
|
||||
" --outfile-check-timer | Num | Sets seconds between outfile checks to X | --outfile-check=30",
|
||||
" -p, --separator | Char | Separator char for hashlists and outfile | -p :",
|
||||
" --stdout | | Do not crack a hash, instead print candidates only |",
|
||||
" --show | | Compare hashlist with potfile; show cracked hashes |",
|
||||
" --left | | Compare hashlist with potfile; show uncracked hashes |",
|
||||
" --username | | Enable ignoring of usernames in hashfile |",
|
||||
" --remove | | Enable removal of hashes once they are cracked |",
|
||||
" --remove-timer | Num | Update input hash file each X seconds | --remove-timer=30",
|
||||
" --potfile-disable | | Do not write potfile |",
|
||||
" --potfile-path | Dir | Specific path to potfile | --potfile-path=my.pot",
|
||||
" --encoding-from | Code | Force internal wordlist encoding from X | --encoding-from=iso-8859-15",
|
||||
" --encoding-to | Code | Force internal wordlist encoding to X | --encoding-to=utf-32le",
|
||||
" --debug-mode | Num | Defines the debug mode (hybrid only by using rules) | --debug-mode=4",
|
||||
" --debug-file | File | Output file for debugging rules | --debug-file=good.log",
|
||||
" --induction-dir | Dir | Specify the induction directory to use for loopback | --induction=inducts",
|
||||
" --outfile-check-dir | Dir | Specify the outfile directory to monitor for plains | --outfile-check-dir=x",
|
||||
" --logfile-disable | | Disable the logfile |",
|
||||
" --hccapx-message-pair | Num | Load only message pairs from hccapx matching X | --hccapx-message-pair=2",
|
||||
" --nonce-error-corrections | Num | The BF size range to replace AP's nonce last bytes | --nonce-error-corrections=16",
|
||||
" --truecrypt-keyfiles | File | Keyfiles to use, separated with commas | --truecrypt-key=x.png",
|
||||
" --veracrypt-keyfiles | File | Keyfiles to use, separated with commas | --veracrypt-key=x.txt",
|
||||
" --veracrypt-pim | Num | VeraCrypt personal iterations multiplier | --veracrypt-pim=1000",
|
||||
" -b, --benchmark | | Run benchmark |",
|
||||
" --speed-only | | Return expected speed of the attack, then quit |",
|
||||
" --progress-only | | Return ideal progress step size and time to process |",
|
||||
" -c, --segment-size | Num | Sets size in MB to cache from the wordfile to X | -c 32",
|
||||
" --bitmap-min | Num | Sets minimum bits allowed for bitmaps to X | --bitmap-min=24",
|
||||
" --bitmap-max | Num | Sets maximum bits allowed for bitmaps to X | --bitmap-max=24",
|
||||
" --cpu-affinity | Str | Locks to CPU devices, separated with commas | --cpu-affinity=1,2,3",
|
||||
" -I, --opencl-info | | Show info about detected OpenCL platforms/devices | -I",
|
||||
" --opencl-platforms | Str | OpenCL platforms to use, separated with commas | --opencl-platforms=2",
|
||||
" -d, --opencl-devices | Str | OpenCL devices to use, separated with commas | -d 1",
|
||||
" -D, --opencl-device-types | Str | OpenCL device-types to use, separated with commas | -D 1",
|
||||
" --opencl-vector-width | Num | Manually override OpenCL vector-width to X | --opencl-vector=4",
|
||||
" -O, --optimized-kernel-enable | | Enable optimized kernels (limits password length) |",
|
||||
" -w, --workload-profile | Num | Enable a specific workload profile, see pool below | -w 3",
|
||||
" -n, --kernel-accel | Num | Manual workload tuning, set outerloop step size to X | -n 64",
|
||||
" -u, --kernel-loops | Num | Manual workload tuning, set innerloop step size to X | -u 256",
|
||||
" --nvidia-spin-damp | Num | Workaround NVIDIAs CPU burning loop bug, in percent | --nvidia-spin-damp=50",
|
||||
" --gpu-temp-disable | | Disable temperature and fanspeed reads and triggers |",
|
||||
" --gpu-temp-abort | Num | Abort if GPU temperature reaches X degrees Celsius | --gpu-temp-abort=100",
|
||||
" --gpu-temp-retain | Num | Try to retain GPU temperature at X degrees Celsius | --gpu-temp-retain=95",
|
||||
" --powertune-enable | | Enable power tuning. Restores settings when finished |",
|
||||
" --scrypt-tmto | Num | Manually override TMTO value for scrypt to X | --scrypt-tmto=3",
|
||||
" -s, --skip | Num | Skip X words from the start | -s 1000000",
|
||||
" -l, --limit | Num | Limit X words from the start + skipped words | -l 1000000",
|
||||
" --keyspace | | Show keyspace base:mod values and quit |",
|
||||
" -j, --rule-left | Rule | Single rule applied to each word from left wordlist | -j 'c'",
|
||||
" -k, --rule-right | Rule | Single rule applied to each word from right wordlist | -k '^-'",
|
||||
" -r, --rules-file | File | Multiple rules applied to each word from wordlists | -r rules/best64.rule",
|
||||
" -g, --generate-rules | Num | Generate X random rules | -g 10000",
|
||||
" --generate-rules-func-min | Num | Force min X functions per rule |",
|
||||
" --generate-rules-func-max | Num | Force max X functions per rule |",
|
||||
" --generate-rules-seed | Num | Force RNG seed set to X |",
|
||||
" -1, --custom-charset1 | CS | User-defined charset ?1 | -1 ?l?d?u",
|
||||
" -2, --custom-charset2 | CS | User-defined charset ?2 | -2 ?l?d?s",
|
||||
" -3, --custom-charset3 | CS | User-defined charset ?3 |",
|
||||
" -4, --custom-charset4 | CS | User-defined charset ?4 |",
|
||||
" -i, --increment | | Enable mask increment mode |",
|
||||
" --increment-min | Num | Start mask incrementing at X | --increment-min=4",
|
||||
" --increment-max | Num | Stop mask incrementing at X | --increment-max=8",
|
||||
" Options Short / Long | Type | Description | Example",
|
||||
"================================+======+======================================================+=======================",
|
||||
" -m, --hash-type | Num | Hash-type, see references below | -m 1000",
|
||||
" -a, --attack-mode | Num | Attack-mode, see references below | -a 3",
|
||||
" -V, --version | | Print version |",
|
||||
" -h, --help | | Print help |",
|
||||
" --quiet | | Suppress output |",
|
||||
" --hex-charset | | Assume charset is given in hex |",
|
||||
" --hex-salt | | Assume salt is given in hex |",
|
||||
" --hex-wordlist | | Assume words in wordlist are given in hex |",
|
||||
" --force | | Ignore warnings |",
|
||||
" --status | | Enable automatic update of the status screen |",
|
||||
" --status-timer | Num | Sets seconds between status screen updates to X | --status-timer=1",
|
||||
" --machine-readable | | Display the status view in a machine-readable format |",
|
||||
" --keep-guessing | | Keep guessing the hash after it has been cracked |",
|
||||
" --self-test-disable | | Disable self-test functionality on startup |",
|
||||
" --loopback | | Add new plains to induct directory |",
|
||||
" --weak-hash-threshold | Num | Threshold X when to stop checking for weak hashes | --weak=0",
|
||||
" --markov-hcstat | File | Specify hcstat file to use | --markov-hc=my.hcstat",
|
||||
" --markov-disable | | Disables markov-chains, emulates classic brute-force |",
|
||||
" --markov-classic | | Enables classic markov-chains, no per-position |",
|
||||
" -t, --markov-threshold | Num | Threshold X when to stop accepting new markov-chains | -t 50",
|
||||
" --runtime | Num | Abort session after X seconds of runtime | --runtime=10",
|
||||
" --session | Str | Define specific session name | --session=mysession",
|
||||
" --restore | | Restore session from --session |",
|
||||
" --restore-disable | | Do not write restore file |",
|
||||
" --restore-file-path | File | Specific path to restore file | --restore-file-path=x.restore",
|
||||
" -o, --outfile | File | Define outfile for recovered hash | -o outfile.txt",
|
||||
" --outfile-format | Num | Define outfile-format X for recovered hash | --outfile-format=7",
|
||||
" --outfile-autohex-disable | | Disable the use of $HEX[] in output plains |",
|
||||
" --outfile-check-timer | Num | Sets seconds between outfile checks to X | --outfile-check=30",
|
||||
" --wordlist-autohex-disable | | Disable the conversion of $HEX[] from the wordlist |",
|
||||
" -p, --separator | Char | Separator char for hashlists and outfile | -p :",
|
||||
" --stdout | | Do not crack a hash, instead print candidates only |",
|
||||
" --show | | Compare hashlist with potfile; show cracked hashes |",
|
||||
" --left | | Compare hashlist with potfile; show uncracked hashes |",
|
||||
" --username | | Enable ignoring of usernames in hashfile |",
|
||||
" --remove | | Enable removal of hashes once they are cracked |",
|
||||
" --remove-timer | Num | Update input hash file each X seconds | --remove-timer=30",
|
||||
" --potfile-disable | | Do not write potfile |",
|
||||
" --potfile-path | Dir | Specific path to potfile | --potfile-path=my.pot",
|
||||
" --encoding-from | Code | Force internal wordlist encoding from X | --encoding-from=iso-8859-15",
|
||||
" --encoding-to | Code | Force internal wordlist encoding to X | --encoding-to=utf-32le",
|
||||
" --debug-mode | Num | Defines the debug mode (hybrid only by using rules) | --debug-mode=4",
|
||||
" --debug-file | File | Output file for debugging rules | --debug-file=good.log",
|
||||
" --induction-dir | Dir | Specify the induction directory to use for loopback | --induction=inducts",
|
||||
" --outfile-check-dir | Dir | Specify the outfile directory to monitor for plains | --outfile-check-dir=x",
|
||||
" --logfile-disable | | Disable the logfile |",
|
||||
" --hccapx-message-pair | Num | Load only message pairs from hccapx matching X | --hccapx-message-pair=2",
|
||||
" --nonce-error-corrections | Num | The BF size range to replace AP's nonce last bytes | --nonce-error-corrections=16",
|
||||
" --truecrypt-keyfiles | File | Keyfiles to use, separated with commas | --truecrypt-key=x.png",
|
||||
" --veracrypt-keyfiles | File | Keyfiles to use, separated with commas | --veracrypt-key=x.txt",
|
||||
" --veracrypt-pim | Num | VeraCrypt personal iterations multiplier | --veracrypt-pim=1000",
|
||||
" -b, --benchmark | | Run benchmark |",
|
||||
" --speed-only | | Return expected speed of the attack, then quit |",
|
||||
" --progress-only | | Return ideal progress step size and time to process |",
|
||||
" -c, --segment-size | Num | Sets size in MB to cache from the wordfile to X | -c 32",
|
||||
" --bitmap-min | Num | Sets minimum bits allowed for bitmaps to X | --bitmap-min=24",
|
||||
" --bitmap-max | Num | Sets maximum bits allowed for bitmaps to X | --bitmap-max=24",
|
||||
" --cpu-affinity | Str | Locks to CPU devices, separated with commas | --cpu-affinity=1,2,3",
|
||||
" -I, --opencl-info | | Show info about detected OpenCL platforms/devices | -I",
|
||||
" --opencl-platforms | Str | OpenCL platforms to use, separated with commas | --opencl-platforms=2",
|
||||
" -d, --opencl-devices | Str | OpenCL devices to use, separated with commas | -d 1",
|
||||
" -D, --opencl-device-types | Str | OpenCL device-types to use, separated with commas | -D 1",
|
||||
" --opencl-vector-width | Num | Manually override OpenCL vector-width to X | --opencl-vector=4",
|
||||
" -O, --optimized-kernel-enable | | Enable optimized kernels (limits password length) |",
|
||||
" -w, --workload-profile | Num | Enable a specific workload profile, see pool below | -w 3",
|
||||
" -n, --kernel-accel | Num | Manual workload tuning, set outerloop step size to X | -n 64",
|
||||
" -u, --kernel-loops | Num | Manual workload tuning, set innerloop step size to X | -u 256",
|
||||
" --nvidia-spin-damp | Num | Workaround NVIDIAs CPU burning loop bug, in percent | --nvidia-spin-damp=50",
|
||||
" --gpu-temp-disable | | Disable temperature and fanspeed reads and triggers |",
|
||||
" --gpu-temp-abort | Num | Abort if GPU temperature reaches X degrees Celsius | --gpu-temp-abort=100",
|
||||
" --gpu-temp-retain | Num | Try to retain GPU temperature at X degrees Celsius | --gpu-temp-retain=95",
|
||||
" --powertune-enable | | Enable power tuning. Restores settings when finished |",
|
||||
" --scrypt-tmto | Num | Manually override TMTO value for scrypt to X | --scrypt-tmto=3",
|
||||
" -s, --skip | Num | Skip X words from the start | -s 1000000",
|
||||
" -l, --limit | Num | Limit X words from the start + skipped words | -l 1000000",
|
||||
" --keyspace | | Show keyspace base:mod values and quit |",
|
||||
" -j, --rule-left | Rule | Single rule applied to each word from left wordlist | -j 'c'",
|
||||
" -k, --rule-right | Rule | Single rule applied to each word from right wordlist | -k '^-'",
|
||||
" -r, --rules-file | File | Multiple rules applied to each word from wordlists | -r rules/best64.rule",
|
||||
" -g, --generate-rules | Num | Generate X random rules | -g 10000",
|
||||
" --generate-rules-func-min | Num | Force min X functions per rule |",
|
||||
" --generate-rules-func-max | Num | Force max X functions per rule |",
|
||||
" --generate-rules-seed | Num | Force RNG seed set to X |",
|
||||
" -1, --custom-charset1 | CS | User-defined charset ?1 | -1 ?l?d?u",
|
||||
" -2, --custom-charset2 | CS | User-defined charset ?2 | -2 ?l?d?s",
|
||||
" -3, --custom-charset3 | CS | User-defined charset ?3 |",
|
||||
" -4, --custom-charset4 | CS | User-defined charset ?4 |",
|
||||
" -i, --increment | | Enable mask increment mode |",
|
||||
" --increment-min | Num | Start mask incrementing at X | --increment-min=4",
|
||||
" --increment-max | Num | Stop mask incrementing at X | --increment-max=8",
|
||||
"",
|
||||
"- [ Hash modes ] -",
|
||||
"",
|
||||
|
@ -76,6 +76,7 @@ static const struct option long_options[] =
|
||||
{"outfile-check-timer", required_argument, 0, IDX_OUTFILE_CHECK_TIMER},
|
||||
{"outfile-format", required_argument, 0, IDX_OUTFILE_FORMAT},
|
||||
{"outfile", required_argument, 0, IDX_OUTFILE},
|
||||
{"wordlist-autohex-disable", no_argument, 0, IDX_WORDLIST_AUTOHEX_DISABLE},
|
||||
{"potfile-disable", no_argument, 0, IDX_POTFILE_DISABLE},
|
||||
{"potfile-path", required_argument, 0, IDX_POTFILE_PATH},
|
||||
{"powertune-enable", no_argument, 0, IDX_POWERTUNE_ENABLE},
|
||||
@ -174,6 +175,7 @@ int user_options_init (hashcat_ctx_t *hashcat_ctx)
|
||||
user_options->opencl_platforms = NULL;
|
||||
user_options->opencl_vector_width = OPENCL_VECTOR_WIDTH;
|
||||
user_options->optimized_kernel_enable = OPTIMIZED_KERNEL_ENABLE;
|
||||
user_options->wordlist_autohex_disable = WORDLIST_AUTOHEX_DISABLE;
|
||||
user_options->outfile_autohex = OUTFILE_AUTOHEX;
|
||||
user_options->outfile_check_dir = NULL;
|
||||
user_options->outfile_check_timer = OUTFILE_CHECK_TIMER;
|
||||
@ -375,6 +377,7 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
|
||||
user_options->outfile_format_chgd = true; break;
|
||||
case IDX_OUTFILE_AUTOHEX_DISABLE: user_options->outfile_autohex = false; break;
|
||||
case IDX_OUTFILE_CHECK_TIMER: user_options->outfile_check_timer = atoi (optarg); break;
|
||||
case IDX_WORDLIST_AUTOHEX_DISABLE: user_options->wordlist_autohex_disable = true; break;
|
||||
case IDX_HEX_CHARSET: user_options->hex_charset = true; break;
|
||||
case IDX_HEX_SALT: user_options->hex_salt = true; break;
|
||||
case IDX_HEX_WORDLIST: user_options->hex_wordlist = true; break;
|
||||
@ -2133,6 +2136,7 @@ void user_options_logger (hashcat_ctx_t *hashcat_ctx)
|
||||
logfile_top_uint (user_options->outfile_autohex);
|
||||
logfile_top_uint (user_options->outfile_check_timer);
|
||||
logfile_top_uint (user_options->outfile_format);
|
||||
logfile_top_uint (user_options->wordlist_autohex_disable);
|
||||
logfile_top_uint (user_options->potfile_disable);
|
||||
logfile_top_uint (user_options->powertune_enable);
|
||||
logfile_top_uint (user_options->progress_only);
|
||||
|
@ -35,11 +35,14 @@ u32 convert_from_hex (hashcat_ctx_t *hashcat_ctx, char *line_buf, const u32 line
|
||||
return (i);
|
||||
}
|
||||
|
||||
if (is_hexify ((const u8 *) line_buf, (const int) line_len) == true)
|
||||
if (user_options->wordlist_autohex_disable == false)
|
||||
{
|
||||
const int new_len = exec_unhexify ((const u8 *) line_buf, (const int) line_len, (u8 *) line_buf, (const int) line_len);
|
||||
if (is_hexify ((const u8 *) line_buf, (const int) line_len) == true)
|
||||
{
|
||||
const int new_len = exec_unhexify ((const u8 *) line_buf, (const int) line_len, (u8 *) line_buf, (const int) line_len);
|
||||
|
||||
return (u32) new_len;
|
||||
return (u32) new_len;
|
||||
}
|
||||
}
|
||||
|
||||
return (line_len);
|
||||
|
Loading…
Reference in New Issue
Block a user