{"success":true,"data":{"ext":"sln","name":"Visual Studio","description":"Visual Studio Solution (.sln) is a text-based project coordination file created and maintained by Microsoft for the Visual Studio development environment. It is used to organize one or more projects, define build configuration, and link source code, libraries, and related development assets for software applications. The format is generally safe and has long been used in Windows development, though it may reference files and paths that should be reviewed when opening solutions from untrusted sources.","mime":[],"risk_level":"Safe","signatures":[{"hex":"4D 69 63 72 6F 73 6F 66 74 20 56 69 73 75 61 6C 20 53 74 75 64 69 6F 20 53 6F 6C 75 74 69 6F 6E 20 46 69 6C 65","offset":0,"sources":[{"name":"Gary Kessler","url":"https://www.garykessler.net/library/file_sigs_GCK_latest.html"}]}],"related":["wpl","xlc","xld","xll","xlm","xlt"],"usage":{"python":"def is_sln(file_path: str) -> bool:\n    \"\"\"Check if file is a valid SLN by magic bytes.\"\"\"\n    signature = bytes([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x20, 0x53, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x46, 0x69, 0x6C, 0x65])\n    with open(file_path, \"rb\") as f:\n        return f.read(37) == signature","node":"function isSLN(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x20, 0x53, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x46, 0x69, 0x6C, 0x65]);\n  return buffer.subarray(0, 37).equals(signature);\n}","go":"func IsSLN(data []byte) bool {\n    signature := []byte{0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x20, 0x53, 0x74, 0x75, 0x64, 0x69, 0x6F, 0x20, 0x53, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x46, 0x69, 0x6C, 0x65}\n    if len(data) < 37 {\n        return false\n    }\n    return bytes.Equal(data[:37], signature)\n}"}}}