diff --git a/OpenCL/m29910-pure.cl b/OpenCL/m29910-pure.cl index 8ed6aaaeb..b61461f7e 100644 --- a/OpenCL/m29910-pure.cl +++ b/OpenCL/m29910-pure.cl @@ -23,7 +23,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -405,11 +405,17 @@ KERNEL_FQ void m29910_comp (KERN_ATTR_TMPS_ESALT (encdatavault_tmp_t, encdatavau } } - const u32 ct = esalt_bufs[DIGESTS_OFFSET_HOST].ct; + u32 ct[2]; - const u32 pt = ct ^ ctr[0][1]; + ct[0] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[0]; + ct[1] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[1]; - if (pt == 0xd2c3b4a1) + u32 pt[2]; + + pt[0] = ct[0] ^ ctr[0][1]; + pt[1] = ct[1] ^ ctr[0][2]; + + if ((pt[0] == 0xd2c3b4a1) && ((pt[1] & 0x00ffffff) == 0)) { if (hc_atomic_inc (&hashes_shown[DIGESTS_OFFSET_HOST]) == 0) { diff --git a/OpenCL/m29920-pure.cl b/OpenCL/m29920-pure.cl index 04a143ac7..d0a4e34fb 100644 --- a/OpenCL/m29920-pure.cl +++ b/OpenCL/m29920-pure.cl @@ -23,7 +23,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -475,11 +475,17 @@ KERNEL_FQ void m29920_comp (KERN_ATTR_TMPS_ESALT (encdatavault_tmp_t, encdatavau } } - const u32 ct = esalt_bufs[DIGESTS_OFFSET_HOST].ct; + u32 ct[2]; - const u32 pt = ct ^ ctr[0][1]; + ct[0] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[0]; + ct[1] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[1]; - if (pt == 0xd2c3b4a1) + u32 pt[2]; + + pt[0] = ct[0] ^ ctr[0][1]; + pt[1] = ct[1] ^ ctr[0][2]; + + if ((pt[0] == 0xd2c3b4a1) && ((pt[1] & 0x00ffffff) == 0)) { if (hc_atomic_inc (&hashes_shown[DIGESTS_OFFSET_HOST]) == 0) { diff --git a/OpenCL/m29930-pure.cl b/OpenCL/m29930-pure.cl index 0d6144ab5..d4085e428 100644 --- a/OpenCL/m29930-pure.cl +++ b/OpenCL/m29930-pure.cl @@ -23,7 +23,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -290,11 +290,17 @@ KERNEL_FQ void m29930_comp (KERN_ATTR_TMPS_ESALT (encdatavault_tmp_t, encdatavau } } - const u32 ct = esalt_bufs[DIGESTS_OFFSET_HOST].ct; + u32 ct[2]; - const u32 pt = ct ^ ctr[0][1]; + ct[0] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[0]; + ct[1] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[1]; - if (pt == 0xd2c3b4a1) + u32 pt[2]; + + pt[0] = ct[0] ^ ctr[0][1]; + pt[1] = ct[1] ^ ctr[0][2]; + + if ((pt[0] == 0xd2c3b4a1) && ((pt[1] & 0x00ffffff) == 0)) { if (hc_atomic_inc (&hashes_shown[DIGESTS_OFFSET_HOST]) == 0) { diff --git a/OpenCL/m29940-pure.cl b/OpenCL/m29940-pure.cl index 0b5a7ae8b..3ac5ee7d6 100644 --- a/OpenCL/m29940-pure.cl +++ b/OpenCL/m29940-pure.cl @@ -23,7 +23,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -360,11 +360,17 @@ KERNEL_FQ void m29940_comp (KERN_ATTR_TMPS_ESALT (encdatavault_tmp_t, encdatavau } } - const u32 ct = esalt_bufs[DIGESTS_OFFSET_HOST].ct; + u32 ct[2]; - const u32 pt = ct ^ ctr[0][1]; + ct[0] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[0]; + ct[1] = esalt_bufs[DIGESTS_OFFSET_HOST].ct[1]; - if (pt == 0xd2c3b4a1) + u32 pt[2]; + + pt[0] = ct[0] ^ ctr[0][1]; + pt[1] = ct[1] ^ ctr[0][2]; + + if ((pt[0] == 0xd2c3b4a1) && ((pt[1] & 0x00ffffff) == 0)) { if (hc_atomic_inc (&hashes_shown[DIGESTS_OFFSET_HOST]) == 0) { diff --git a/docs/changes.txt b/docs/changes.txt index 2befcafdc..bfad1c2f9 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -5,6 +5,10 @@ ## - Added hash-mode: Bisq .wallet (scrypt) +- Added hash-mode: ENCsecurity Datavault (PBKDF2/no keychain) +- Added hash-mode: ENCsecurity Datavault (PBKDF2/keychain) +- Added hash-mode: ENCsecurity Datavault (MD5/no keychain) +- Added hash-mode: ENCsecurity Datavault (MD5/keychain) - Added hash-mode: Dahua NVR/DVR/HVR (md5($salt1.strtoupper(md5($salt2.$pass)))) ## @@ -1881,4 +1885,4 @@ It combines all features of all hashcat projects in one project. - Created environment variable to inform pocl OpenCL runtime to not create its own kernel cache - Dropped special 64-bit rotate() handling for NV, it seems that they've added it to their OpenCL runtime - Completely get rid of HAVE_ADL, HAVE_NVML and HAVE_NVAPI in sources -- Replaced NVAPI with NVML on windows +- Replaced NVAPI with NVML on windows \ No newline at end of file diff --git a/docs/readme.txt b/docs/readme.txt index 7b8982833..0b90020d0 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -423,6 +423,10 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Exodus Desktop Wallet (scrypt) - Terra Station Wallet (AES256-CBC(PBKDF2($pass))) - Bisq .wallet (scrypt) +- ENCsecurity Datavault (PBKDF2/no keychain) +- ENCsecurity Datavault (PBKDF2/keychain) +- ENCsecurity Datavault (MD5/no keychain) +- ENCsecurity Datavault (MD5/keychain) ## ## Attack-Modes diff --git a/src/modules/module_29910.c b/src/modules/module_29910.c index b7c609a29..2ef35810c 100644 --- a/src/modules/module_29910.c +++ b/src/modules/module_29910.c @@ -21,11 +21,10 @@ static const char *HASH_NAME = "ENCsecurity Datavault (PBKDF2/no keychain)" static const u64 KERN_TYPE = 29910; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE - | OPTS_TYPE_SUGGEST_KG | OPTS_TYPE_PT_GENERATE_LE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; -static const char *ST_HASH = "$encdv-pbkdf2$1$1$bd12fd9e9c4252ac$8e0d56af$32$6837851711084114787901783636162937895530378506030719195563133051$100000"; +static const char *ST_HASH = "$encdv-pbkdf2$1$1$2a634ff38de7bd65$da30f6488f23d250$32$8411766641676379804327452599148252868336714192465947587879023912$100000"; u32 module_attack_exec (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ATTACK_EXEC; } u32 module_dgst_pos0 (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return DGST_POS0; } @@ -47,7 +46,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -121,8 +120,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE | TOKEN_ATTR_VERIFY_HEX; token.sep[4] = '$'; - token.len_min[4] = 8; - token.len_max[4] = 8; + token.len_min[4] = 16; + token.len_max[4] = 16; token.attr[4] = TOKEN_ATTR_VERIFY_LENGTH | TOKEN_ATTR_VERIFY_HEX; @@ -182,7 +181,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE const u8 *ct_pos = token.buf[4]; - encdatavault->ct = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[ 0])); + encdatavault->ct[0] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[0])); + encdatavault->ct[1] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[8])); // salt length @@ -215,8 +215,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE // hash - digest[0] = encdatavault->ct; // very little comparison material, mark? - digest[1] = 0; + digest[0] = encdatavault->ct[0]; + digest[1] = encdatavault->ct[1]; digest[2] = 0; digest[3] = 0; @@ -227,13 +227,14 @@ int module_hash_encode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE { const encdatavault_t *encdatavault = (const encdatavault_t *) esalt_buf; - const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x$32$%08x%08x%08x%08x%08x%08x%08x%08x$%u", + const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x%08x$32$%08x%08x%08x%08x%08x%08x%08x%08x$%u", SIGNATURE_ENCDATAVAULT, encdatavault->version, encdatavault->algo, encdatavault->iv[0], encdatavault->iv[1], - encdatavault->ct, + encdatavault->ct[0], + encdatavault->ct[1], salt->salt_buf[0], salt->salt_buf[1], salt->salt_buf[2], diff --git a/src/modules/module_29920.c b/src/modules/module_29920.c index e14c6c0c2..f38b6d99a 100644 --- a/src/modules/module_29920.c +++ b/src/modules/module_29920.c @@ -21,11 +21,10 @@ static const char *HASH_NAME = "ENCsecurity Datavault (PBKDF2/keychain)"; static const u64 KERN_TYPE = 29920; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE - | OPTS_TYPE_SUGGEST_KG | OPTS_TYPE_PT_GENERATE_LE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; -static const char *ST_HASH = "$encdv-pbkdf2$3$1$130571bbf372e0bf$111d5ca7$32$2429089346200226659014233592924299796009937640146227905527403333$100000$fec66270ae31528b4fe4dbfe4034a9698fcdf28daee644a63f561fdf91d6ed4e91491a65570a1789b10e1d6480cffe9d6b2c5b1be360ba690e15c6b8d04bbc7c561889416062efa8fd16e14356c922b2536356e8097ac421663eba859b812ace02f41d4e471f5a46e0cee149edaa46fd1be0347d59247320286ad270d2d45ed5"; +static const char *ST_HASH = "$encdv-pbkdf2$3$1$ce7801561a78723a$92d57beb35641626$32$4865411258241441439695058324389632216617876787029059122102544908$100000$0fcd759f2a0b8687a63bd70db4af46735199cacd2e67df549bfa643ac2610f23bcc533d693be54f3307d9fb14057d53eed528079a90c160bf9bde5cce8e0283539d97bb536029ebb8b641e18ecf8d1af44e3e161a47e263830eb0b3de53052c3f36a4e6f5068b14c7aabd449c63969948ac27adbd111762583ac779d53156e9b"; u32 module_attack_exec (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ATTACK_EXEC; } u32 module_dgst_pos0 (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return DGST_POS0; } @@ -47,7 +46,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -121,8 +120,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE | TOKEN_ATTR_VERIFY_HEX; token.sep[4] = '$'; - token.len_min[4] = 8; - token.len_max[4] = 8; + token.len_min[4] = 16; + token.len_max[4] = 16; token.attr[4] = TOKEN_ATTR_VERIFY_LENGTH | TOKEN_ATTR_VERIFY_HEX; @@ -189,7 +188,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE const u8 *ct_pos = token.buf[4]; - encdatavault->ct = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[ 0])); + encdatavault->ct[0] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[0])); + encdatavault->ct[1] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[8])); // salt length @@ -231,8 +231,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE // hash - digest[0] = encdatavault->ct; // very little comparison material, mark? - digest[1] = 0; + digest[0] = encdatavault->ct[0]; + digest[1] = encdatavault->ct[1]; digest[2] = 0; digest[3] = 0; @@ -250,13 +250,14 @@ int module_hash_encode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE u32_to_hex (byte_swap_32 (encdatavault->keychain[i]), (u8 *) tmp_buf + j); } - const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x$32$%08x%08x%08x%08x%08x%08x%08x%08x$%u$%s", + const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x%08x$32$%08x%08x%08x%08x%08x%08x%08x%08x$%u$%s", SIGNATURE_ENCDATAVAULT, encdatavault->version, encdatavault->algo, encdatavault->iv[0], encdatavault->iv[1], - encdatavault->ct, + encdatavault->ct[0], + encdatavault->ct[1], salt->salt_buf[0], salt->salt_buf[1], salt->salt_buf[2], diff --git a/src/modules/module_29930.c b/src/modules/module_29930.c index b649197f1..f5b491b21 100644 --- a/src/modules/module_29930.c +++ b/src/modules/module_29930.c @@ -21,11 +21,10 @@ static const char *HASH_NAME = "ENCsecurity Datavault (MD5/no keychain)"; static const u64 KERN_TYPE = 29930; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE - | OPTS_TYPE_SUGGEST_KG | OPTS_TYPE_PT_GENERATE_LE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; -static const char *ST_HASH = "$encdv$1$1$a36ce62ab8a2701b$8c5d1f2c"; +static const char *ST_HASH = "$encdv$1$1$c3b2325acd041cc5$125027145bd58e4c"; u32 module_attack_exec (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ATTACK_EXEC; } u32 module_dgst_pos0 (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return DGST_POS0; } @@ -47,7 +46,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -116,8 +115,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE | TOKEN_ATTR_VERIFY_HEX; token.sep[4] = '$'; - token.len_min[4] = 8; - token.len_max[4] = 8; + token.len_min[4] = 16; + token.len_max[4] = 16; token.attr[4] = TOKEN_ATTR_VERIFY_LENGTH | TOKEN_ATTR_VERIFY_HEX; @@ -159,13 +158,15 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE const u8 *ct_pos = token.buf[4]; - encdatavault->ct = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[ 0])); + encdatavault->ct[0] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[0])); + encdatavault->ct[1] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[8])); // salt fixed - salt->salt_buf[0] = encdatavault->ct; + salt->salt_buf[0] = encdatavault->ct[0]; + salt->salt_buf[1] = encdatavault->ct[1]; - salt->salt_len = 4; + salt->salt_len = 8; // iter fixed @@ -175,8 +176,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE // hash - digest[0] = encdatavault->ct; // very little comparison material, mark? - digest[1] = 0; + digest[0] = encdatavault->ct[0]; + digest[1] = encdatavault->ct[1]; digest[2] = 0; digest[3] = 0; @@ -187,13 +188,14 @@ int module_hash_encode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE { const encdatavault_t *encdatavault = (const encdatavault_t *) esalt_buf; - const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x", + const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x%08x", SIGNATURE_ENCDATAVAULT, encdatavault->version, encdatavault->algo, encdatavault->iv[0], encdatavault->iv[1], - encdatavault->ct); + encdatavault->ct[0], + encdatavault->ct[1]); return line_len; } diff --git a/src/modules/module_29940.c b/src/modules/module_29940.c index 00bfdcdaf..59974a561 100644 --- a/src/modules/module_29940.c +++ b/src/modules/module_29940.c @@ -21,11 +21,10 @@ static const char *HASH_NAME = "ENCsecurity Datavault (MD5/keychain)"; static const u64 KERN_TYPE = 29940; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; static const u64 OPTS_TYPE = OPTS_TYPE_STOCK_MODULE - | OPTS_TYPE_SUGGEST_KG | OPTS_TYPE_PT_GENERATE_LE; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const char *ST_PASS = "hashcat"; -static const char *ST_HASH = "$encdv$3$1$5dad3dca84d2c099$a0219b93$6ed2f9c289bb8febc14ede2412b64333e9b59c4f783e62bbd01a111ae53444b3b8510b79ec0d4eedee50c2dec3e4539a42e1107626c4c0ee2c3cf36241fb965ae81b15a0d29044f9e0aa61eeb01e988de1f24b25e744d5927cb8a4c4844f4e4bd3f0f5a1bbf731158871b756c1818e4f47f3efd6bc8d09f59bbef8ae089a8184"; +static const char *ST_HASH = "$encdv$3$1$57eb2fd014e80ab8$d9efd5b50d7d2c96$4d155873a6619957b8e30739d729e8a7b147573a839603fe5dcfdec186c0cb622ddda17ae077dbd77b8a7193e2e975c03f4ccb9052ffbcb6cf419aa9dcd2f7c917ffb4f243fae96cef2f96b804879e9e02b1fcaa4e1b0e765cb138fd0993cda006384a1e690d4058e107cfb7e214bf0217ea7b405af3924db4fa839efedbea59"; u32 module_attack_exec (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ATTACK_EXEC; } u32 module_dgst_pos0 (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return DGST_POS0; } @@ -47,7 +46,7 @@ typedef struct encdatavault u32 keychain[32]; u32 iv[2]; - u32 ct; + u32 ct[2]; u32 algo; u32 version; @@ -116,8 +115,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE | TOKEN_ATTR_VERIFY_HEX; token.sep[4] = '$'; - token.len_min[4] = 8; - token.len_max[4] = 8; + token.len_min[4] = 16; + token.len_max[4] = 16; token.attr[4] = TOKEN_ATTR_VERIFY_LENGTH | TOKEN_ATTR_VERIFY_HEX; @@ -165,7 +164,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE const u8 *ct_pos = token.buf[4]; - encdatavault->ct = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[ 0])); + encdatavault->ct[0] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[0])); + encdatavault->ct[1] = byte_swap_32 (hex_to_u32 ((const u8 *) &ct_pos[8])); // keychain @@ -178,9 +178,10 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE // salt fixed - salt->salt_buf[0] = encdatavault->ct; + salt->salt_buf[0] = encdatavault->ct[0]; + salt->salt_buf[1] = encdatavault->ct[1]; - salt->salt_len = 4; + salt->salt_len = 8; // iter fixed @@ -190,8 +191,8 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE // hash - digest[0] = encdatavault->ct; // very little comparison material, mark? - digest[1] = 0; + digest[0] = encdatavault->ct[0]; + digest[1] = encdatavault->ct[1]; digest[2] = 0; digest[3] = 0; @@ -209,13 +210,14 @@ int module_hash_encode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE u32_to_hex (byte_swap_32 (encdatavault->keychain[i]), (u8 *) tmp_buf + j); } - const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x$%s", + const int line_len = snprintf (line_buf, line_size, "%s%u$%u$%08x%08x$%08x%08x$%s", SIGNATURE_ENCDATAVAULT, encdatavault->version, encdatavault->algo, encdatavault->iv[0], encdatavault->iv[1], - encdatavault->ct, + encdatavault->ct[0], + encdatavault->ct[1], tmp_buf); return line_len; diff --git a/tools/exodus2hashcat.py b/tools/exodus2hashcat.py index 9fdc695b7..e81d42d5e 100755 --- a/tools/exodus2hashcat.py +++ b/tools/exodus2hashcat.py @@ -21,10 +21,6 @@ if len(sys.argv) != 2 : print("Error, usage exodus2hashcat.py ") sys.exit(1) -if os.path.basename(sys.argv[1])!= 'seed.seco': - print("Error, usage exodus2hashcat.py ") - sys.exit(1) - with open(sys.argv[1],'rb') as fd: seedBuffer = fd.read()