2016-09-24 11:08:35 +02:00
|
|
|
/**
|
|
|
|
* Author......: See docs/credits.txt
|
|
|
|
* License.....: MIT
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _RP_H
|
|
|
|
#define _RP_H
|
|
|
|
|
|
|
|
#include <string.h>
|
|
|
|
|
2017-08-11 11:15:43 +02:00
|
|
|
#define RP_RULE_SIZE 256
|
|
|
|
#define RP_PASSWORD_SIZE 256
|
2016-09-24 11:08:35 +02:00
|
|
|
|
|
|
|
#define INCR_RULES 10000
|
|
|
|
|
2016-10-06 21:03:10 +02:00
|
|
|
#define RULES_MAX 32
|
2016-09-24 12:05:56 +02:00
|
|
|
#define MAX_KERNEL_RULES (RULES_MAX - 1)
|
2016-09-24 11:08:35 +02:00
|
|
|
|
|
|
|
bool class_num (const u8 c);
|
|
|
|
bool class_lower (const u8 c);
|
|
|
|
bool class_upper (const u8 c);
|
|
|
|
bool class_alpha (const u8 c);
|
|
|
|
|
|
|
|
int conv_ctoi (const u8 c);
|
|
|
|
int conv_itoc (const u8 c);
|
|
|
|
|
2017-08-11 11:15:43 +02:00
|
|
|
int generate_random_rule (char rule_buf[RP_RULE_SIZE], const u32 rp_gen_func_min, const u32 rp_gen_func_max);
|
2016-09-24 11:08:35 +02:00
|
|
|
|
2018-07-26 11:41:56 +02:00
|
|
|
bool is_hex_notation (const char *rule_buf, u32 rule_len, u32 rule_pos);
|
2018-06-14 15:08:00 +02:00
|
|
|
|
2016-10-04 06:35:49 +02:00
|
|
|
int cpu_rule_to_kernel_rule (char *rule_buf, u32 rule_len, kernel_rule_t *rule);
|
2016-09-24 11:08:35 +02:00
|
|
|
int kernel_rule_to_cpu_rule (char *rule_buf, kernel_rule_t *rule);
|
|
|
|
|
2016-09-27 13:13:07 +02:00
|
|
|
bool kernel_rules_has_noop (const kernel_rule_t *kernel_rules_buf, const u32 kernel_rules_cnt);
|
2016-09-24 12:05:56 +02:00
|
|
|
|
2016-10-06 21:03:10 +02:00
|
|
|
int kernel_rules_load (hashcat_ctx_t *hashcat_ctx, kernel_rule_t **out_buf, u32 *out_cnt);
|
|
|
|
int kernel_rules_generate (hashcat_ctx_t *hashcat_ctx, kernel_rule_t **out_buf, u32 *out_cnt);
|
2016-09-25 14:53:57 +02:00
|
|
|
|
2016-09-24 11:08:35 +02:00
|
|
|
#endif // _RP_H
|