New option --progress-only: Quickly provides ideal progress step size and time to process it per device based on the user hashes and selected options, then quit

This commit is contained in:
jsteube
2016-12-09 23:44:43 +01:00
parent f9ba94954b
commit ec5610271a
18 changed files with 293 additions and 62 deletions

View File

@@ -81,6 +81,8 @@ char *status_get_cpt (const hashcat_ctx_t *hashcat_ctx)
char *status_get_hwmon_dev (const hashcat_ctx_t *hashcat_ctx, const int device_id);
int status_get_corespeed_dev (const hashcat_ctx_t *hashcat_ctx, const int device_id);
int status_get_memoryspeed_dev (const hashcat_ctx_t *hashcat_ctx, const int device_id);
int status_get_progress_dev (const hashcat_ctx_t *hashcat_ctx, const int device_id);
double status_get_runtime_msec_dev (const hashcat_ctx_t *hashcat_ctx, const int device_id);
int status_progress_init (hashcat_ctx_t *hashcat_ctx);
void status_progress_destroy (hashcat_ctx_t *hashcat_ctx);

View File

@@ -41,12 +41,16 @@ int tty_break(void);
int tty_getchar(void);
int tty_fix(void);
void opencl_info (hashcat_ctx_t *hashcat_ctx);
void opencl_info_compact (hashcat_ctx_t *hashcat_ctx);
void opencl_info (hashcat_ctx_t *hashcat_ctx);
void opencl_info_compact (hashcat_ctx_t *hashcat_ctx);
void status_display_machine_readable (hashcat_ctx_t *hashcat_ctx);
void status_display (hashcat_ctx_t *hashcat_ctx);
void status_benchmark_automate (hashcat_ctx_t *hashcat_ctx);
void status_benchmark (hashcat_ctx_t *hashcat_ctx);
void status_progress_machine_readable (hashcat_ctx_t *hashcat_ctx);
void status_progress (hashcat_ctx_t *hashcat_ctx);
void status_speed_machine_readable (hashcat_ctx_t *hashcat_ctx);
void status_speed (hashcat_ctx_t *hashcat_ctx);
void status_display_machine_readable (hashcat_ctx_t *hashcat_ctx);
void status_display (hashcat_ctx_t *hashcat_ctx);
void status_benchmark_machine_readable (hashcat_ctx_t *hashcat_ctx);
void status_benchmark (hashcat_ctx_t *hashcat_ctx);
#endif // _TERMINAL_H

View File

@@ -522,6 +522,7 @@ typedef enum user_options_defaults
STATUS_TIMER = 10,
STDOUT_FLAG = false,
SPEED_ONLY = false,
PROGRESS_ONLY = false,
USAGE = false,
USERNAME = false,
VERSION = false,
@@ -607,13 +608,14 @@ typedef enum user_options_map
IDX_STATUS_TIMER = 0xff30,
IDX_STDOUT_FLAG = 0xff31,
IDX_SPEED_ONLY = 0xff32,
IDX_TRUECRYPT_KEYFILES = 0xff33,
IDX_USERNAME = 0xff34,
IDX_VERACRYPT_KEYFILES = 0xff35,
IDX_VERACRYPT_PIM = 0xff36,
IDX_PROGRESS_ONLY = 0xff33,
IDX_TRUECRYPT_KEYFILES = 0xff34,
IDX_USERNAME = 0xff35,
IDX_VERACRYPT_KEYFILES = 0xff36,
IDX_VERACRYPT_PIM = 0xff37,
IDX_VERSION_LOWER = 'v',
IDX_VERSION = 'V',
IDX_WEAK_HASH_THRESHOLD = 0xff37,
IDX_WEAK_HASH_THRESHOLD = 0xff38,
IDX_WORKLOAD_PROFILE = 'w'
} user_options_map_t;
@@ -892,6 +894,7 @@ typedef struct hc_device_param
u32 outerloop_pos;
u32 outerloop_left;
double outerloop_msec;
u32 innerloop_pos;
u32 innerloop_left;
@@ -1355,6 +1358,7 @@ typedef struct user_options
bool status;
bool stdout_flag;
bool speed_only;
bool progress_only;
bool usage;
bool username;
bool version;
@@ -1567,6 +1571,8 @@ typedef struct
char *hwmon_dev;
int corespeed_dev;
int memoryspeed_dev;
double runtime_msec_dev;
int progress_dev;
} device_info_t;