{"success":true,"data":{"ext":"odp","name":"OpenDocument text document","description":"OpenDocument Presentation (ODP) is an open presentation file format defined by the OASIS consortium and standardized by ISO/IEC as part of the OpenDocument family. It is used for slide decks in office suites such as LibreOffice, Apache OpenOffice, and other compatible presentation editors. The format is generally safe, though files from untrusted sources may contain embedded objects or macros in some implementations, so opening them with updated software is recommended.","mime":["application/vnd.oasis.opendocument.presentation"],"risk_level":"Safe","signatures":[{"hex":"50 4B 03 04","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"},{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]},{"hex":"50 4B","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"50 4B 05 06","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"50 4B 07 08","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"6D 69 6D 65 74 79 70 65 61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 6F 61 73 69 73 2E 6F 70 65 6E 64 6F 63 75 6D 65 6E 74 2E 70 72 65 73 65 6E 74 61 74 69 6F 6E","offset":0,"sources":[{"name":"Neil Harvey FileSignatures","url":"https://raw.githubusercontent.com/neilharvey/FileSignatures/master/src/FileSignatures/Formats/OpenDocumentPresentation.cs"}]}],"related":["pptx","key","otp","pot","pps","ppt"],"usage":{"python":"def is_odp(file_path: str) -> bool:\n    \"\"\"Check if file is a valid ODP by magic bytes.\"\"\"\n    signature = bytes([0x50, 0x4B, 0x03, 0x04])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isODP(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x50, 0x4B, 0x03, 0x04]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsODP(data []byte) bool {\n    signature := []byte{0x50, 0x4B, 0x03, 0x04}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"},"category":"Office"}}