Skip to content

Commit 121bf72

Browse files
authored
Merge pull request hashcat#4339 from matrix/update_types_modules_edge
Update types, modules, edge
2 parents 0a34885 + a870b15 commit 121bf72

16 files changed

Lines changed: 164 additions & 98 deletions

docs/changes.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,9 @@
184184
- Metal Backend: disable Metal devices only if at least one OpenCL device is active
185185
- Metal Backend: improved compute workloads calculation
186186
- Metal Backend: parallelize pipeline state object (PSO) compilation internally
187+
- Modules: Added OPTS_TYPE_PT_BASE58 in 28501 28502 28503 28504 28505 28506 30901 30902 30903 30904 30905 30906
187188
- Modules: Check UnpackSize to raise false positive with hc_decompress_rar
189+
- Types: Added OPTS_TYPE_PT_BASE58 and removed OPTS_TYPE_MAXIMUM_ACCEL in opts_type
188190
- User Options: added --metal-compiler-runtime option
189191
- User Options: limit --bitmap-max value to 31
190192
- User Options: assigned -H to --hash-info

include/types.h

Lines changed: 88 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -421,108 +421,105 @@ typedef enum opti_type
421421

422422
typedef enum opts_type
423423
{
424-
OPTS_TYPE_PT_UTF16LE = (1ULL << 0),
425-
OPTS_TYPE_PT_UTF16BE = (1ULL << 1),
426-
OPTS_TYPE_PT_UPPER = (1ULL << 2),
427-
OPTS_TYPE_PT_LOWER = (1ULL << 3),
428-
OPTS_TYPE_PT_ADD01 = (1ULL << 4),
429-
OPTS_TYPE_PT_ADD02 = (1ULL << 5),
430-
OPTS_TYPE_PT_ADD80 = (1ULL << 6),
431-
OPTS_TYPE_PT_ADDBITS14 = (1ULL << 7),
432-
OPTS_TYPE_PT_ADDBITS15 = (1ULL << 8),
433-
OPTS_TYPE_PT_GENERATE_LE = (1ULL << 9),
434-
OPTS_TYPE_PT_GENERATE_BE = (1ULL << 10),
435-
OPTS_TYPE_PT_NEVERCRACK = (1ULL << 11), // if we want all possible results
436-
OPTS_TYPE_PT_ALWAYS_ASCII = (1ULL << 12),
437-
OPTS_TYPE_PT_ALWAYS_HEXIFY = (1ULL << 13),
438-
OPTS_TYPE_PT_LM = (1ULL << 14), // special handling: all lower, 7 max, ...
439-
OPTS_TYPE_PT_HEX = (1ULL << 15), // input wordlist is always in hex
440-
OPTS_TYPE_ST_UTF16LE = (1ULL << 16),
441-
OPTS_TYPE_ST_UTF16BE = (1ULL << 17),
442-
OPTS_TYPE_ST_UPPER = (1ULL << 18),
443-
OPTS_TYPE_ST_LOWER = (1ULL << 19),
444-
OPTS_TYPE_ST_ADD01 = (1ULL << 20),
445-
OPTS_TYPE_ST_ADD02 = (1ULL << 21),
446-
OPTS_TYPE_ST_ADD80 = (1ULL << 22),
447-
OPTS_TYPE_ST_ADDBITS14 = (1ULL << 23),
448-
OPTS_TYPE_ST_ADDBITS15 = (1ULL << 24),
449-
OPTS_TYPE_ST_HEX = (1ULL << 25),
450-
OPTS_TYPE_ST_BASE64 = (1ULL << 26),
451-
OPTS_TYPE_MT_HEX = (1ULL << 27), // mask is always in hex
452-
OPTS_TYPE_HASH_COPY = (1ULL << 28),
453-
OPTS_TYPE_HASH_SPLIT = (1ULL << 29),
454-
OPTS_TYPE_INIT = (1ULL << 30), // Added v7, since bridge can fully replace these, but are set by default automatically
455-
OPTS_TYPE_LOOP = (1ULL << 31), // Added v7, since bridge can fully replace these, but are set by default automatically
456-
OPTS_TYPE_COMP = (1ULL << 32), // Added v7, since bridge can fully replace these, but are set by default automatically
457-
OPTS_TYPE_LOOP_PREPARE = (1ULL << 33), // a kernel which is called each time before _loop kernel started.
458-
// like a hook12 kernel but without extra buffers.
459-
OPTS_TYPE_LOOP_EXTENDED = (1ULL << 34), // a kernel which is called each time normal _loop kernel finished.
460-
// but unlike a hook kernel this kernel is called for every _loop iteration offset
461-
OPTS_TYPE_HOOK12 = (1ULL << 35),
462-
OPTS_TYPE_HOOK23 = (1ULL << 36),
463-
OPTS_TYPE_INIT2 = (1ULL << 37),
464-
OPTS_TYPE_LOOP2_PREPARE = (1ULL << 38), // same as OPTS_TYPE_LOOP_PREPARE but for loop2 kernel
465-
OPTS_TYPE_LOOP2 = (1ULL << 39),
466-
OPTS_TYPE_AUX1 = (1ULL << 40),
467-
OPTS_TYPE_AUX2 = (1ULL << 41),
468-
OPTS_TYPE_AUX3 = (1ULL << 42),
469-
OPTS_TYPE_AUX4 = (1ULL << 43),
470-
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 44),
471-
OPTS_TYPE_BINARY_HASHFILE_OPTIONAL
472-
= (1ULL << 45), // this allows us to not enforce the use of a binary file. requires OPTS_TYPE_BINARY_HASHFILE set to be effective.
473-
OPTS_TYPE_PT_ADD06 = (1ULL << 46),
474-
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 47),
475-
OPTS_TYPE_DEEP_COMP_KERNEL = (1ULL << 48), // if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
476-
OPTS_TYPE_TM_KERNEL = (1ULL << 49),
477-
OPTS_TYPE_SUGGEST_KG = (1ULL << 50), // suggest keep guessing for modules the user maybe wants to use --keep-guessing
478-
OPTS_TYPE_COPY_TMPS = (1ULL << 51), // if we want to use data from tmps buffer (for example get the PMK in WPA)
479-
OPTS_TYPE_POTFILE_NOPASS = (1ULL << 52), // sometimes the password should not be printed to potfile
480-
OPTS_TYPE_DYNAMIC_SHARED = (1ULL << 53), // use dynamic shared memory (note: needs special kernel changes)
481-
OPTS_TYPE_SELF_TEST_DISABLE = (1ULL << 54), // some algos use JiT in combinations with a salt or create too much startup time
482-
OPTS_TYPE_MP_MULTI_DISABLE = (1ULL << 55), // do not multiply the kernel-accel with the multiprocessor count per device to allow more fine-tuned workload settings
483-
OPTS_TYPE_THREAD_MULTI_DISABLE // do not multiply the kernel-power with the thread count per device for super slow algos
484-
= (1ULL << 56),
485-
OPTS_TYPE_NATIVE_THREADS = (1ULL << 57), // forces "native" thread count: CPU=1, GPU-Intel=8, GPU-AMD=64 (wavefront), GPU-NV=32 (warps)
486-
OPTS_TYPE_MAXIMUM_THREADS = (1ULL << 58), // disable else branch in pre-compilation thread count optimization setting
487-
OPTS_TYPE_POST_AMP_UTF16LE = (1ULL << 59), // run the utf8 to utf16le conversion kernel after they have been processed from amplifiers
488-
OPTS_TYPE_AUTODETECT_DISABLE
489-
= (1ULL << 60), // skip autodetect engine
490-
OPTS_TYPE_STOCK_MODULE = (1ULL << 61), // module included with hashcat default distribution
491-
OPTS_TYPE_MULTIHASH_DESPITE_ESALT
492-
= (1ULL << 62), // overrule multihash cracking check same salt but not same esalt
493-
OPTS_TYPE_MAXIMUM_ACCEL = (1ULL << 63) // try to maximize kernel-accel during autotune
424+
OPTS_TYPE_PT_UTF16LE = (1ULL << 0),
425+
OPTS_TYPE_PT_UTF16BE = (1ULL << 1),
426+
OPTS_TYPE_PT_UPPER = (1ULL << 2),
427+
OPTS_TYPE_PT_LOWER = (1ULL << 3),
428+
OPTS_TYPE_PT_ADD01 = (1ULL << 4),
429+
OPTS_TYPE_PT_ADD02 = (1ULL << 5),
430+
OPTS_TYPE_PT_ADD80 = (1ULL << 6),
431+
OPTS_TYPE_PT_ADDBITS14 = (1ULL << 7),
432+
OPTS_TYPE_PT_ADDBITS15 = (1ULL << 8),
433+
OPTS_TYPE_PT_GENERATE_LE = (1ULL << 9),
434+
OPTS_TYPE_PT_GENERATE_BE = (1ULL << 10),
435+
OPTS_TYPE_PT_NEVERCRACK = (1ULL << 11), // if we want all possible results
436+
OPTS_TYPE_PT_ALWAYS_ASCII = (1ULL << 12),
437+
OPTS_TYPE_PT_ALWAYS_HEXIFY = (1ULL << 13),
438+
OPTS_TYPE_PT_LM = (1ULL << 14), // special handling: all lower, 7 max, ...
439+
OPTS_TYPE_PT_HEX = (1ULL << 15), // input wordlist is always in hex
440+
OPTS_TYPE_PT_BASE58 = (1ULL << 16), // only informative
441+
OPTS_TYPE_ST_UTF16LE = (1ULL << 17),
442+
OPTS_TYPE_ST_UTF16BE = (1ULL << 18),
443+
OPTS_TYPE_ST_UPPER = (1ULL << 19),
444+
OPTS_TYPE_ST_LOWER = (1ULL << 20),
445+
OPTS_TYPE_ST_ADD01 = (1ULL << 21),
446+
OPTS_TYPE_ST_ADD02 = (1ULL << 22),
447+
OPTS_TYPE_ST_ADD80 = (1ULL << 23),
448+
OPTS_TYPE_ST_ADDBITS14 = (1ULL << 24),
449+
OPTS_TYPE_ST_ADDBITS15 = (1ULL << 25),
450+
OPTS_TYPE_ST_HEX = (1ULL << 26),
451+
OPTS_TYPE_ST_BASE64 = (1ULL << 27),
452+
OPTS_TYPE_MT_HEX = (1ULL << 28), // mask is always in hex
453+
OPTS_TYPE_HASH_COPY = (1ULL << 29),
454+
OPTS_TYPE_HASH_SPLIT = (1ULL << 30),
455+
OPTS_TYPE_INIT = (1ULL << 31), // Added v7, since bridge can fully replace these, but are set by default automatically
456+
OPTS_TYPE_LOOP = (1ULL << 32), // Added v7, since bridge can fully replace these, but are set by default automatically
457+
OPTS_TYPE_COMP = (1ULL << 33), // Added v7, since bridge can fully replace these, but are set by default automatically
458+
OPTS_TYPE_LOOP_PREPARE = (1ULL << 34), // a kernel which is called each time before _loop kernel started.
459+
// like a hook12 kernel but without extra buffers.
460+
OPTS_TYPE_LOOP_EXTENDED = (1ULL << 35), // a kernel which is called each time normal _loop kernel finished.
461+
// but unlike a hook kernel this kernel is called for every _loop iteration offset
462+
OPTS_TYPE_HOOK12 = (1ULL << 36),
463+
OPTS_TYPE_HOOK23 = (1ULL << 37),
464+
OPTS_TYPE_INIT2 = (1ULL << 38),
465+
OPTS_TYPE_LOOP2_PREPARE = (1ULL << 39), // same as OPTS_TYPE_LOOP_PREPARE but for loop2 kernel
466+
OPTS_TYPE_LOOP2 = (1ULL << 40),
467+
OPTS_TYPE_AUX1 = (1ULL << 41),
468+
OPTS_TYPE_AUX2 = (1ULL << 42),
469+
OPTS_TYPE_AUX3 = (1ULL << 43),
470+
OPTS_TYPE_AUX4 = (1ULL << 44),
471+
OPTS_TYPE_BINARY_HASHFILE = (1ULL << 45),
472+
OPTS_TYPE_BINARY_HASHFILE_OPTIONAL = (1ULL << 46), // this allows us to not enforce the use of a binary file. requires OPTS_TYPE_BINARY_HASHFILE set to be effective.
473+
OPTS_TYPE_PT_ADD06 = (1ULL << 47),
474+
OPTS_TYPE_KEYBOARD_MAPPING = (1ULL << 48),
475+
OPTS_TYPE_DEEP_COMP_KERNEL = (1ULL << 49), // if we have to iterate through each hash inside the comp kernel, for example if each hash has to be decrypted separately
476+
OPTS_TYPE_TM_KERNEL = (1ULL << 50),
477+
OPTS_TYPE_SUGGEST_KG = (1ULL << 51), // suggest keep guessing for modules the user maybe wants to use --keep-guessing
478+
OPTS_TYPE_COPY_TMPS = (1ULL << 52), // if we want to use data from tmps buffer (for example get the PMK in WPA)
479+
OPTS_TYPE_POTFILE_NOPASS = (1ULL << 53), // sometimes the password should not be printed to potfile
480+
OPTS_TYPE_DYNAMIC_SHARED = (1ULL << 54), // use dynamic shared memory (note: needs special kernel changes)
481+
OPTS_TYPE_SELF_TEST_DISABLE = (1ULL << 55), // some algos use JiT in combinations with a salt or create too much startup time
482+
OPTS_TYPE_MP_MULTI_DISABLE = (1ULL << 56), // do not multiply the kernel-accel with the multiprocessor count per device to allow more fine-tuned workload settings
483+
OPTS_TYPE_THREAD_MULTI_DISABLE = (1ULL << 57), // do not multiply the kernel-power with the thread count per device for super slow algos
484+
OPTS_TYPE_NATIVE_THREADS = (1ULL << 58), // forces "native" thread count: CPU=1, GPU-Intel=8, GPU-AMD=64 (wavefront), GPU-NV=32 (warps)
485+
OPTS_TYPE_MAXIMUM_THREADS = (1ULL << 59), // disable else branch in pre-compilation thread count optimization setting
486+
OPTS_TYPE_POST_AMP_UTF16LE = (1ULL << 60), // run the utf8 to utf16le conversion kernel after they have been processed from amplifiers
487+
OPTS_TYPE_AUTODETECT_DISABLE = (1ULL << 61), // skip autodetect engine
488+
OPTS_TYPE_STOCK_MODULE = (1ULL << 62), // module included with hashcat default distribution
489+
OPTS_TYPE_MULTIHASH_DESPITE_ESALT = (1ULL << 63) // overrule multihash cracking check same salt but not same esalt
490+
//OPTS_TYPE_MAXIMUM_ACCEL = (1ULL << 64) // try to maximize kernel-accel during autotune
494491

495492
} opts_type_t;
496493

497494
typedef enum bridge_type
498495
{
499-
BRIDGE_TYPE_NONE = 0, // no bridge support
500-
BRIDGE_TYPE_MATCH_TUNINGS = (1ULL << 1), // Disables autotune and adjusts -n, -u and -T for the backend device according to match bridge dimensions
501-
BRIDGE_TYPE_UPDATE_SELFTEST = (1ULL << 2), // updates the selftest configured in the module. Can be useful for generic hash modes such as the python one
496+
BRIDGE_TYPE_NONE = 0, // no bridge support
497+
BRIDGE_TYPE_MATCH_TUNINGS = (1ULL << 1), // Disables autotune and adjusts -n, -u and -T for the backend device according to match bridge dimensions
498+
BRIDGE_TYPE_UPDATE_SELFTEST = (1ULL << 2), // updates the selftest configured in the module. Can be useful for generic hash modes such as the python one
502499

503-
BRIDGE_TYPE_LAUNCH_INIT = (1ULL << 10), // attention! not yet implemented
504-
BRIDGE_TYPE_LAUNCH_LOOP = (1ULL << 11),
505-
BRIDGE_TYPE_LAUNCH_LOOP2 = (1ULL << 12),
506-
BRIDGE_TYPE_LAUNCH_COMP = (1ULL << 13), // attention! not yet implemented
500+
BRIDGE_TYPE_LAUNCH_INIT = (1ULL << 10), // attention! not yet implemented
501+
BRIDGE_TYPE_LAUNCH_LOOP = (1ULL << 11),
502+
BRIDGE_TYPE_LAUNCH_LOOP2 = (1ULL << 12),
503+
BRIDGE_TYPE_LAUNCH_COMP = (1ULL << 13), // attention! not yet implemented
507504

508505
// BRIDGE_TYPE_REPLACE_* is like
509506
// BRIDGE_TYPE_LAUNCH_*, but
510507
// deactivates KERN_RUN INIT/LOOP/COMP
511508

512-
BRIDGE_TYPE_REPLACE_INIT = (1ULL << 20), // attention! not yet implemented
513-
BRIDGE_TYPE_REPLACE_LOOP = (1ULL << 21),
514-
BRIDGE_TYPE_REPLACE_LOOP2 = (1ULL << 22),
515-
BRIDGE_TYPE_REPLACE_COMP = (1ULL << 23), // attention! not yet implemented
516-
517-
BRIDGE_TYPE_FORCE_WORKITEMS_001 = (1ULL << 30), // This override the workitem counts reported from the bridge device
518-
BRIDGE_TYPE_FORCE_WORKITEMS_002 = (1ULL << 31), // Can be useful if this is not a physical hardware
519-
BRIDGE_TYPE_FORCE_WORKITEMS_004 = (1ULL << 32),
520-
BRIDGE_TYPE_FORCE_WORKITEMS_008 = (1ULL << 33),
521-
BRIDGE_TYPE_FORCE_WORKITEMS_016 = (1ULL << 34),
522-
BRIDGE_TYPE_FORCE_WORKITEMS_032 = (1ULL << 35),
523-
BRIDGE_TYPE_FORCE_WORKITEMS_064 = (1ULL << 36),
524-
BRIDGE_TYPE_FORCE_WORKITEMS_128 = (1ULL << 37),
525-
BRIDGE_TYPE_FORCE_WORKITEMS_256 = (1ULL << 36),
509+
BRIDGE_TYPE_REPLACE_INIT = (1ULL << 20), // attention! not yet implemented
510+
BRIDGE_TYPE_REPLACE_LOOP = (1ULL << 21),
511+
BRIDGE_TYPE_REPLACE_LOOP2 = (1ULL << 22),
512+
BRIDGE_TYPE_REPLACE_COMP = (1ULL << 23), // attention! not yet implemented
513+
514+
BRIDGE_TYPE_FORCE_WORKITEMS_001 = (1ULL << 30), // This override the workitem counts reported from the bridge device
515+
BRIDGE_TYPE_FORCE_WORKITEMS_002 = (1ULL << 31), // Can be useful if this is not a physical hardware
516+
BRIDGE_TYPE_FORCE_WORKITEMS_004 = (1ULL << 32),
517+
BRIDGE_TYPE_FORCE_WORKITEMS_008 = (1ULL << 33),
518+
BRIDGE_TYPE_FORCE_WORKITEMS_016 = (1ULL << 34),
519+
BRIDGE_TYPE_FORCE_WORKITEMS_032 = (1ULL << 35),
520+
BRIDGE_TYPE_FORCE_WORKITEMS_064 = (1ULL << 36),
521+
BRIDGE_TYPE_FORCE_WORKITEMS_128 = (1ULL << 37),
522+
BRIDGE_TYPE_FORCE_WORKITEMS_256 = (1ULL << 36),
526523

527524
} bridge_type_t;
528525

src/modules/module_28501.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2PKH), compres
2424
static const u64 KERN_TYPE = 28501;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "KxhashcatxhXkULNJYF8Fu46G28SJrC7x2qwFtRuf38kVjkWxHg3";

src/modules/module_28502.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2PKH), uncompr
2424
static const u64 KERN_TYPE = 28502;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "5KcL859EUnBDtVG76134U6DZWnVmpE996emJnWmTLRW2hashcat";

src/modules/module_28503.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2WPKH, Bech32)
2222
static const u64 KERN_TYPE = 28501;
2323
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2424
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
25+
| OPTS_TYPE_PT_BASE58
2526
| OPTS_TYPE_PT_GENERATE_LE;
2627
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2728
static const char *ST_PASS = "KyhashcatpL2CQmMUDVMVuEXqdLSvfQ6TBjkUuyttSvBa7GMiuLi";

src/modules/module_28504.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2WPKH, Bech32)
2222
static const u64 KERN_TYPE = 28502;
2323
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2424
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
25+
| OPTS_TYPE_PT_BASE58
2526
| OPTS_TYPE_PT_GENERATE_LE;
2627
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2728
static const char *ST_PASS = "5HzV19ffW9QTnmZHbwETRpPHm1d4hAP8PG1etUb3T3jjhashcat";

src/modules/module_28505.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2SH(P2WPKH)),
2424
static const u64 KERN_TYPE = 28505;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "L4hashcat7q6HMnMFcukyvxxVJvpabXYjxXLey8846NtWUyX4YLi";

src/modules/module_28506.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin WIF private key (P2SH(P2WPKH)),
2424
static const u64 KERN_TYPE = 28506;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "5JjDR424kMePbt5Uxnm2t1NizhdiVPcf8gCj68PQpP2ihashcat";

src/modules/module_30901.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin raw private key (P2PKH), compres
2424
static const u64 KERN_TYPE = 30901;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "59887ec9920239bd45b6a9f82b7c4e024f80beaf887e5ee6aac5de0a899d3068";

src/modules/module_30902.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ static const char *HASH_NAME = "Bitcoin raw private key (P2PKH), uncompr
2424
static const u64 KERN_TYPE = 30902;
2525
static const u32 OPTI_TYPE = OPTI_TYPE_NOT_SALTED;
2626
static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE
27+
| OPTS_TYPE_PT_BASE58
2728
| OPTS_TYPE_PT_GENERATE_LE;
2829
static const u32 SALT_TYPE = SALT_TYPE_NONE;
2930
static const char *ST_PASS = "2006a306cf8f61c18c4e78e5fc0f5a7aa473b5ffb41f34344a32f8e042786fa1";

0 commit comments

Comments
 (0)