john
john copied to clipboard
Support KeePass database format 4.x
Our keepass2john.c
has:
uint32_t FileVersion32 = 0x00040000;
uint32_t FileVersion32_4 = 0x00040000; // from KeePass 2.36 sources
// We currently support database formats up to KDBX v3.x. KDBX 4.x is not
// supported yet. See "KdbxFile.cs" in KeePass 2.36 for more information on
// KDBX 4.x format.
if (uVersion >= FileVersion32_4) {
fprintf(stderr, "! %s : File version '%x' is currently not supported!\n", encryptedDatabase, uVersion);
goto bailout;
}
This was actually triggered by a user (on Kali Linux 2021.1, but our keepass2john.c
hasn't changed in this respect since 2017):
$ keepass2john test.kdbx
! test.kdbx : File version '40001' is currently not supported!
$ file test.kdbx
test.kdbx: Keepass password database 2.x KDBX
(The reporting by file
doesn't mean much - it probably is unaware of newer versions.)
Apparently, KDBX 4 uses Argon2 by default. We might want to handle that as a new format with its own set of tunable costs (Argon2's) or add the algorithm choice as a first tunable cost (but I'd prefer separate format, so that it's separately benchmarked, etc).
Is there any update on this issue ? :smile:
@krillin666 No, and moreover no update is currently expected - as you can see, this issue isn't part of a milestone. So it just sits here. Maybe a new contributor would appear and take care of it.