{"success":true,"data":{"ext":"pak","name":"Compressed archive file","description":"The PAK format is a compressed archive file format originally used by id Software and maintained through the Quake engine ecosystem. It is used to bundle game assets such as maps, textures, sounds, and configuration files into a single distributable package for classic Quake-era games and related tools. The format is generally considered safe, though as with any archive, files should be obtained from trusted sources; it is primarily a legacy format.","mime":[],"risk_level":"Safe","signatures":[{"hex":"4B 50 4B 41","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"1A 0B","offset":0,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]},{"hex":"50 41 43 4B","offset":0,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]}],"related":[],"usage":{"python":"def is_pak(file_path: str) -> bool:\n    \"\"\"Check if file is a valid PAK by magic bytes.\"\"\"\n    signature = bytes([0x4B, 0x50, 0x4B, 0x41])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isPAK(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x4B, 0x50, 0x4B, 0x41]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsPAK(data []byte) bool {\n    signature := []byte{0x4B, 0x50, 0x4B, 0x41}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"}}}