SO (.so)
.so file signature | application/octet-stream
Executable and Linkable Format[25]
Magic Bytes
Offset 10
23 20 54 68 69 73 20 69 73 20 61 20 73 68 65 6C 6C 20 61 72 63 68 69 76 65
Sources: Apache Tika
All Known Signatures
7 signature variants are documented for .so files across multiple sources.
| Hex Signature | Offset | Sources |
|---|---|---|
| 23 20 54 68 69 73 20 69 73 20 61 20 73 68 65 6C 6C 20 61 72 63 68 69 76 65 | 10 | Apache Tika |
| 1F 1E | 0 | Apache Tika |
| 30 31 37 34 33 37 | 0 | Apache Tika |
| 1F FF | 0 | Apache Tika |
| FF 1F | 0 | Apache Tika |
| 30 31 34 35 34 30 35 | 0 | Apache Tika |
| 7F 45 4C 46 | 0 | Wikipedia |
Extension
.so
MIME Type
application/octet-stream
Byte Offset
10
Risk Level
Safe
Validation Code
How to validate .so files in Python
def is_so(file_path: str) -> bool:
"""Check if file is a valid SO by magic bytes."""
signature = bytes([0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x68, 0x65, 0x6C, 0x6C, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65])
with open(file_path, "rb") as f:
return f.read(25) == signature
How to validate .so files in Node.js
function isSO(buffer: Buffer): boolean {
const signature = Buffer.from([0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x68, 0x65, 0x6C, 0x6C, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65]);
return buffer.subarray(0, 25).equals(signature);
}
How to validate .so files in Go
func IsSO(data []byte) bool {
signature := []byte{0x23, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x68, 0x65, 0x6C, 0x6C, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65}
if len(data) < 25 {
return false
}
return bytes.Equal(data[:25], signature)
}
API Endpoint
/api/v1/so
curl https://filesignature.org/api/v1/so
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .so file?
A .so file is a SO file. Executable and Linkable Format[25]
What are the magic bytes for .so files?
The magic bytes for SO files are 23 20 54 68 69 73 20 69 73 20 61 20 73 68 65 6C 6C 20 61 72 63 68 69 76 65 at byte offset 10. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .so file?
To validate a .so file, read the first bytes of the file and compare them against the known magic bytes (23 20 54 68 69 73 20 69 73 20 61 20 73 68 65 6C 6C 20 61 72 63 68 69 76 65) at offset 10. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .so files?
The primary MIME type for .so files is application/octet-stream.
Is it safe to open .so files?
SO (.so) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.