Quicken data file
application/octet-stream
Magic Bytes
Offset: 0
51 20 BE FF E5 00 6F 00 6F 00 74 00 20 00 45 00 6E 00 74 00 72 00 79 00
The Quicken Address Book is a proprietary database format developed by Intuit for use within its personal financial management software suite. This format stores user-defined contact information, mailing addresses, and payee details linked to specific financial transactions. As a legacy format largely replaced by integrated database structures in modern iterations, it presents minimal security risks and is primarily encountered when migrating historical records from older versions of the application.
Validation Code
How to validate .abd files in Python
Python
def is_abd(file_path: str) -> bool:
"""Check if file is a valid ABD by magic bytes."""
signature = bytes([0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00])
with open(file_path, "rb") as f:
return f.read(24) == signature
How to validate .abd files in Node.js
Node.js
function isABD(buffer: Buffer): boolean {
const signature = Buffer.from([0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00]);
return buffer.subarray(0, 24).equals(signature);
}
Go
func IsABD(data []byte) bool {
signature := []byte{0x51, 0x20, 0xBE, 0xFF, 0xE5, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x45, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00}
if len(data) < 24 {
return false
}
return bytes.Equal(data[:24], signature)
}
API Endpoint
GET
/api/v1/abd
curl https://filesignature.org/api/v1/abd