1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-23 15:18:16 +00:00
hashcat/src/benchmark.c

87 lines
1.4 KiB
C
Raw Normal View History

2016-09-11 09:42:19 +00:00
/**
* Author......: See docs/credits.txt
2016-09-11 09:42:19 +00:00
* License.....: MIT
*/
#include "common.h"
#include "types.h"
#include "interface.h"
2016-09-11 09:42:19 +00:00
#include "benchmark.h"
2018-12-17 09:33:21 +00:00
#include "memory.h"
#include "shared.h"
2018-02-08 18:13:29 +00:00
static const int DEFAULT_BENCHMARK_ALGORITHMS_BUF[] =
{
0,
100,
1400,
1700,
2500,
1000,
3000,
5500,
5600,
1500,
500,
3200,
1800,
7500,
13100,
15300,
15900,
7100,
11600,
12500,
13000,
6211,
13400,
6800,
11300,
-1,
};
int benchmark_next (hashcat_ctx_t *hashcat_ctx)
{
2018-12-17 09:33:21 +00:00
const folder_config_t *folder_config = hashcat_ctx->folder_config;
const user_options_t *user_options = hashcat_ctx->user_options;
static int cur = 0;
if (user_options->benchmark_all == false)
{
const int hash_mode = DEFAULT_BENCHMARK_ALGORITHMS_BUF[cur];
if (hash_mode == -1) return -1;
cur++;
return hash_mode;
}
else
{
2018-12-17 09:33:21 +00:00
char *modulefile = (char *) hcmalloc (HCBUFSIZ_TINY);
2019-01-06 12:48:41 +00:00
for (int i = cur; i < MODULE_HASH_MODES_MAXIMUM; i++)
{
2018-12-30 16:02:11 +00:00
#if defined (_WIN)
snprintf (modulefile, HCBUFSIZ_TINY, "%s/modules/module_%05d.dll", folder_config->shared_dir, i);
#else
2018-12-19 12:43:45 +00:00
snprintf (modulefile, HCBUFSIZ_TINY, "%s/modules/module_%05d.so", folder_config->shared_dir, i);
2018-12-30 16:02:11 +00:00
#endif
2018-12-17 09:33:21 +00:00
if (hc_path_exist (modulefile) == true)
{
const int hash_mode = i;
cur = hash_mode + 1;
return hash_mode;
}
}
2018-12-17 09:33:21 +00:00
2019-01-06 12:48:41 +00:00
hcfree (modulefile);
}
return -1;
}