{"success":true,"data":{"ext":"wpl","name":"Windows Media Player playlist","description":"Windows Media Player playlist (WPL) is a playlist file format created and maintained by Microsoft for Windows Media Player. It is used to store ordered lists of media files and streaming items for playback in Windows Media Player and other compatible media applications. The format is generally safe and has no special security concerns beyond the risks associated with opening referenced media files; it remains a legacy Windows playlist format in many environments.","mime":["application/vnd.ms-wpl"],"risk_level":"Safe","signatures":[{"hex":"4D 69 63 72 6F 73 6F 66 74 20 57 69 6E 64 6F 77 73 20 4D 65 64 69 61 20 50 6C 61 79 65 72 20 2D 2D 20","offset":84,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]}],"related":["xlc","xld","xll","xlm","xlt","xlw"],"usage":{"python":"def is_wpl(file_path: str) -> bool:\n    \"\"\"Check if file is a valid WPL by magic bytes at offset 84.\"\"\"\n    signature = bytes([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x4D, 0x65, 0x64, 0x69, 0x61, 0x20, 0x50, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x20, 0x2D, 0x2D, 0x20])\n    with open(file_path, \"rb\") as f:\n        f.seek(84)\n        return f.read(34) == signature","node":"function isWPL(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x4D, 0x65, 0x64, 0x69, 0x61, 0x20, 0x50, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x20, 0x2D, 0x2D, 0x20]);\n  if (buffer.length < 118) return false;\n  return buffer.subarray(84, 118).equals(signature);\n}","go":"func IsWPL(data []byte) bool {\n    signature := []byte{0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x4D, 0x65, 0x64, 0x69, 0x61, 0x20, 0x50, 0x6C, 0x61, 0x79, 0x65, 0x72, 0x20, 0x2D, 0x2D, 0x20}\n    if len(data) < 118 {\n        return false\n    }\n    return bytes.Equal(data[84:118], signature)\n}"}}}