KEYRING DATABASE FORMAT 03.11.2004: CATEGORIES updated; minimal5.pdb inserted 24.11.2004: CATEGORIES updated 01.12.2004: FIELD inserted 23.09.2005: RECORD ENTRY DESCRIPTOR updated minimal5.pdb (422 bytes, v2.0-pre1): 0 78 HEADER 78 8 RECORD ENTRY DESCRIPTOR 0 86 2 0x0000 88 276 CATEGORIES 364 20 SALTHASHTYPE 384 x RECORD_5 0 minimal4.pdb (402 bytes, v1.2.3): 0 78 HEADER 78 8 RECORD ENTRY DESCRIPTOR 0 86 8 RECORD ENTRY DESCRIPTOR 1 94 2 0x0000 96 276 CATEGORIES 372 20 ENCRYPTED RECORD 0 (Password information) 392 10 ENCRYPTED RECORD 1 EOF HEADER (78 byte): 0 32 name 32 2 flags 34 2 version 36 4 creation time 40 4 modification time 44 4 backup time 48 4 modification number 52 4 application info offset 56 4 sort info offset 60 4 type 64 4 creator 68 4 unique id seed 72 4 0x00 76 2 number of records RECORD ENTRY DESCRIPTOR (8 byte): 4 offset 1 record attributes = (category & 0x0F) | 0x40 {0x50 for first record entry} 3 unique id CATEGORIES (276 byte): 1 0x1F renamed categories = pdpAppInfoOffset (application info offset) 1 0x1F renamed categories 256 category labels (16 * 16 bytes) => 15 byte label + \0 16 unique ids 1 0x0F last unique id 1 0x00 padding ENCRYPTED RECORD_4: title + \0 + ENCRYPTED DATA UNENCRYPTED DATA: account + \0 + password + \0 + notes + \0 + DateType (2 bytes) + zero padding to multiple of 8 bytes SALT HASH TYPE (20 bytes): 8 Salt 2 Iteration 2 Cipher /* 0: None, 1: DES-EDE3, 2: AES128, 3: AES256 */ 8 Hash /* * RECORD_5 consists of: * an unencrypted title field in FIELD_5 format * an unencrypted ivec * a number of fields each in FIELD_5 format that are encrypted * 6 bytes of time/date field in FIELD_5 format also encrypted * two bytes of 0xff and padding with zero to a multiple of 8 bytes */ RECORD_5: unencrypted: FIELD_5 nameField /* title */ 8/16 ivec encrypted: FIELD_5 field1 FIELD_5 field2 ... 0xff 0xff random padding to multiple of 8 bytes FIELD_5: 2 len /* length of field including header, 0 for last field */ 1 label /* 0:name,1:account,2:password,3:lastchanged,255:notes */ 1 font /* Only stdfont(0) allowed */ data 0/1 byte padding for next even address <<<<< Information >>>>>> http://www.pilot-link.org - pilot-link-0.11.8\libpisock\pi_file.c http://gnukeyring.sourceforge.net - keyring-link-0.1.1/keyring.c - keyring-link-2.0-pre1/keyring5.c