Windows international code page
application/octet-stream
Magic Bytes
Offset: 0
53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54
Windows International Code Page (CPI) is a binary system file format created by Microsoft for MS-DOS and early Windows environments. It stores display font glyphs and character mapping tables required for hardware localization and multilingual support across various regional configurations. As a legacy component used primarily by DOS-based configuration commands, it is considered obsolete in modern operating systems and presents no executable security risks.
Validation Code
How to validate .cpi files in Python
Python
def is_cpi(file_path: str) -> bool:
"""Check if file is a valid CPI by magic bytes."""
signature = bytes([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54])
with open(file_path, "rb") as f:
return f.read(30) == signature
How to validate .cpi files in Node.js
Node.js
function isCPI(buffer: Buffer): boolean {
const signature = Buffer.from([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54]);
return buffer.subarray(0, 30).equals(signature);
}
Go
func IsCPI(data []byte) bool {
signature := []byte{0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54}
if len(data) < 30 {
return false
}
return bytes.Equal(data[:30], signature)
}
API Endpoint
GET
/api/v1/cpi
curl https://filesignature.org/api/v1/cpi