{"success":true,"data":{"ext":"so","name":"SO","description":"The Shared Object (SO) format is a dynamically linked library format based on the Executable and Linkable Format (ELF), originally developed for Unix systems and maintained through platform toolchains and operating system conventions. It is used by Linux and other Unix-like systems to store reusable code for applications, device drivers, and system components loaded at runtime. Because shared objects execute as native code, they should be obtained from trusted sources; in modern systems, the format remains widely used rather than obsolete.","mime":["application/x-sharedlib"],"risk_level":"Safe","signatures":[{"hex":"7F 45 4C 46","offset":0,"sources":[{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]}],"related":["elf","axf","ko","o","out","prx"],"usage":{"python":"def is_so(file_path: str) -> bool:\n    \"\"\"Check if file is a valid SO by magic bytes.\"\"\"\n    signature = bytes([0x7F, 0x45, 0x4C, 0x46])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isSO(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x7F, 0x45, 0x4C, 0x46]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsSO(data []byte) bool {\n    signature := []byte{0x7F, 0x45, 0x4C, 0x46}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"},"category":"Executables"}}