mirror of
https://github.com/hashcat/hashcat
synced 2024-12-23 14:13:43 +01:00
Make it easier to include OpenCL kernels into modules
This commit is contained in:
parent
9ced13cc94
commit
d7d716f3ab
@ -26,42 +26,42 @@
|
||||
* - P19: Type of the esalt_bufs structure with additional data, or void.
|
||||
*/
|
||||
|
||||
#define KERN_ATTR(p2,p4,p5,p6,p19) \
|
||||
GLOBAL_AS pw_t *pws, \
|
||||
p2 const kernel_rule_t *rules_buf, \
|
||||
GLOBAL_AS const pw_t *combs_buf, \
|
||||
p4, \
|
||||
GLOBAL_AS p5 *tmps, \
|
||||
GLOBAL_AS p6 *hooks, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s1_a, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s1_b, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s1_c, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s1_d, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s2_a, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s2_b, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s2_c, \
|
||||
GLOBAL_AS const u32 *bitmaps_buf_s2_d, \
|
||||
GLOBAL_AS plain_t *plains_buf, \
|
||||
GLOBAL_AS const digest_t *digests_buf, \
|
||||
GLOBAL_AS u32 *hashes_shown, \
|
||||
GLOBAL_AS const salt_t *salt_bufs, \
|
||||
GLOBAL_AS const p19 *esalt_bufs, \
|
||||
GLOBAL_AS u32 *d_return_buf, \
|
||||
GLOBAL_AS void *d_extra0_buf, \
|
||||
GLOBAL_AS void *d_extra1_buf, \
|
||||
GLOBAL_AS void *d_extra2_buf, \
|
||||
GLOBAL_AS void *d_extra3_buf, \
|
||||
const u32 bitmap_mask, \
|
||||
const u32 bitmap_shift1, \
|
||||
const u32 bitmap_shift2, \
|
||||
const u32 salt_pos, \
|
||||
const u32 loop_pos, \
|
||||
const u32 loop_cnt, \
|
||||
const u32 il_cnt, \
|
||||
const u32 digests_cnt, \
|
||||
const u32 digests_offset, \
|
||||
const u32 combs_mode, \
|
||||
const u64 gid_max
|
||||
#define KERN_ATTR(p2,p4,p5,p6,p19) \
|
||||
MAYBE_UNUSED GLOBAL_AS pw_t *pws, \
|
||||
MAYBE_UNUSED p2 const kernel_rule_t *rules_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS const pw_t *combs_buf, \
|
||||
MAYBE_UNUSED p4, \
|
||||
MAYBE_UNUSED GLOBAL_AS p5 *tmps, \
|
||||
MAYBE_UNUSED GLOBAL_AS p6 *hooks, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s1_a, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s1_b, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s1_c, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s1_d, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s2_a, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s2_b, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s2_c, \
|
||||
MAYBE_UNUSED GLOBAL_AS const u32 *bitmaps_buf_s2_d, \
|
||||
MAYBE_UNUSED GLOBAL_AS plain_t *plains_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS const digest_t *digests_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS u32 *hashes_shown, \
|
||||
MAYBE_UNUSED GLOBAL_AS const salt_t *salt_bufs, \
|
||||
MAYBE_UNUSED GLOBAL_AS const p19 *esalt_bufs, \
|
||||
MAYBE_UNUSED GLOBAL_AS u32 *d_return_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS void *d_extra0_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS void *d_extra1_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS void *d_extra2_buf, \
|
||||
MAYBE_UNUSED GLOBAL_AS void *d_extra3_buf, \
|
||||
MAYBE_UNUSED const u32 bitmap_mask, \
|
||||
MAYBE_UNUSED const u32 bitmap_shift1, \
|
||||
MAYBE_UNUSED const u32 bitmap_shift2, \
|
||||
MAYBE_UNUSED const u32 salt_pos, \
|
||||
MAYBE_UNUSED const u32 loop_pos, \
|
||||
MAYBE_UNUSED const u32 loop_cnt, \
|
||||
MAYBE_UNUSED const u32 il_cnt, \
|
||||
MAYBE_UNUSED const u32 digests_cnt, \
|
||||
MAYBE_UNUSED const u32 digests_offset, \
|
||||
MAYBE_UNUSED const u32 combs_mode, \
|
||||
MAYBE_UNUSED const u64 gid_max
|
||||
|
||||
/*
|
||||
* Shortcut macros for usage in the actual kernels
|
||||
|
@ -18,6 +18,10 @@
|
||||
#define KERNEL_FQ __kernel
|
||||
#endif
|
||||
|
||||
#ifndef MAYBE_UNUSED
|
||||
#define MAYBE_UNUSED
|
||||
#endif
|
||||
|
||||
/**
|
||||
* device type
|
||||
*/
|
||||
|
@ -15,6 +15,14 @@
|
||||
#define HAS_VBFE 0
|
||||
#define VECT_SIZE 1
|
||||
|
||||
#ifdef DGST_ELEM
|
||||
typedef struct digest
|
||||
{
|
||||
u32 digest_buf[DGST_ELEM];
|
||||
|
||||
} digest_t;
|
||||
#endif
|
||||
|
||||
u32 atomic_dec (u32 *p);
|
||||
u32 atomic_inc (u32 *p);
|
||||
|
||||
|
@ -10,8 +10,13 @@
|
||||
#include "convert.h"
|
||||
#include "shared.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "emu_inc_cipher_aes.h"
|
||||
#include "emu_inc_hash_md5.h"
|
||||
#include "m02500-pure.cl"
|
||||
|
||||
static const u32 ATTACK_EXEC = ATTACK_EXEC_OUTSIDE_KERNEL;
|
||||
static const u32 DGST_POS0 = 0;
|
||||
@ -114,23 +119,6 @@ typedef struct hccapx hccapx_t;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
typedef struct digest
|
||||
{
|
||||
u32 digest_buf[DGST_ELEM];
|
||||
|
||||
} digest_t;
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "inc_vendor.h"
|
||||
#include "m02500-pure.cl"
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
static void to_hccapx_t (const hashes_t *hashes, hccapx_t *hccapx, const u32 salt_pos, const u32 digest_pos)
|
||||
{
|
||||
const salt_t *salts_buf = hashes->salts_buf;
|
||||
|
@ -10,8 +10,13 @@
|
||||
#include "convert.h"
|
||||
#include "shared.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "emu_inc_cipher_aes.h"
|
||||
#include "emu_inc_hash_md5.h"
|
||||
#include "m02501-pure.cl"
|
||||
|
||||
static const u32 ATTACK_EXEC = ATTACK_EXEC_OUTSIDE_KERNEL;
|
||||
static const u32 DGST_POS0 = 0;
|
||||
@ -111,23 +116,6 @@ typedef struct hccapx hccapx_t;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
typedef struct digest
|
||||
{
|
||||
u32 digest_buf[DGST_ELEM];
|
||||
|
||||
} digest_t;
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "inc_vendor.h"
|
||||
#include "m02501-pure.cl"
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
static void to_hccapx_t (const hashes_t *hashes, hccapx_t *hccapx, const u32 salt_pos, const u32 digest_pos)
|
||||
{
|
||||
const salt_t *salts_buf = hashes->salts_buf;
|
||||
|
@ -11,6 +11,11 @@
|
||||
#include "shared.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "m16800-pure.cl"
|
||||
|
||||
static const u32 ATTACK_EXEC = ATTACK_EXEC_OUTSIDE_KERNEL;
|
||||
static const u32 DGST_POS0 = 0;
|
||||
static const u32 DGST_POS1 = 1;
|
||||
@ -70,23 +75,6 @@ typedef struct wpa_pbkdf2_tmp
|
||||
} wpa_pbkdf2_tmp_t;
|
||||
*/
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
typedef struct digest
|
||||
{
|
||||
u32 digest_buf[DGST_ELEM];
|
||||
|
||||
} digest_t;
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "inc_vendor.h"
|
||||
#include "m16800-pure.cl"
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||
{
|
||||
const char *mask = "?a?a?a?a?a?a?a?a";
|
||||
|
@ -11,6 +11,11 @@
|
||||
#include "shared.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "m16801-pure.cl"
|
||||
|
||||
static const u32 ATTACK_EXEC = ATTACK_EXEC_OUTSIDE_KERNEL;
|
||||
static const u32 DGST_POS0 = 0;
|
||||
static const u32 DGST_POS1 = 1;
|
||||
@ -67,23 +72,6 @@ typedef struct wpa_pmk_tmp
|
||||
} wpa_pmk_tmp_t;
|
||||
*/
|
||||
|
||||
#define DGST_ELEM 4
|
||||
|
||||
typedef struct digest
|
||||
{
|
||||
u32 digest_buf[DGST_ELEM];
|
||||
|
||||
} digest_t;
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
#include "emu_general.h"
|
||||
#include "inc_vendor.h"
|
||||
#include "m16801-pure.cl"
|
||||
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
const char *module_benchmark_mask (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
|
||||
{
|
||||
const char *mask = "?a?a?a?a?a?a?a?axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
|
Loading…
Reference in New Issue
Block a user