Added long passwords support for KeePass 1 (AES/Twofish) and KeePass 2 (AES)

This commit is contained in:
jsteube
2017-07-09 15:12:11 +02:00
parent 837b5a31d1
commit 709cfa2e91
3 changed files with 427 additions and 993 deletions
+18 -4
View File
@@ -13522,10 +13522,20 @@ int keepass_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UN
keepass->keyfile[7] = byte_swap_32 (keepass->keyfile[7]);
}
digest[0] = keepass->enc_iv[0];
digest[1] = keepass->enc_iv[1];
digest[2] = keepass->enc_iv[2];
digest[3] = keepass->enc_iv[3];
if (keepass->version == 1)
{
digest[0] = keepass->contents_hash[0];
digest[1] = keepass->contents_hash[1];
digest[2] = keepass->contents_hash[2];
digest[3] = keepass->contents_hash[3];
}
else
{
digest[0] = keepass->expected_bytes[0];
digest[1] = keepass->expected_bytes[1];
digest[2] = keepass->expected_bytes[2];
digest[3] = keepass->expected_bytes[3];
}
salt->salt_buf[0] = keepass->transf_random_seed[0];
salt->salt_buf[1] = keepass->transf_random_seed[1];
@@ -13536,6 +13546,8 @@ int keepass_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UN
salt->salt_buf[6] = keepass->transf_random_seed[6];
salt->salt_buf[7] = keepass->transf_random_seed[7];
salt->salt_len = 32;
return (PARSER_OK);
}
@@ -24669,6 +24681,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
break;
case 13200: hashconfig->pw_max = PW_MAX;
break;
case 13400: hashconfig->pw_max = PW_MAX;
break;
}
// pw_max : algo specific hard max length