Adobe Flash shared object file
application/octet-stream
Magic Bytes
Offset: 0
00 FF FF FF FF FF FF FF FF FF FF 00 00 02 00 01
The Adobe Flash shared object file (SOL) is a proprietary data storage format developed by Adobe Systems for use with Flash Player and Adobe AIR. These files function as "Flash cookies" to store user preferences, gaming progress, and specific application state data locally on a client machine. This format is now considered legacy following the official retirement of Adobe Flash Player, though it generally poses no security risk to modern systems or local storage environments.
Validation Code
How to validate .sol files in Python
Python
def is_sol(file_path: str) -> bool:
"""Check if file is a valid SOL by magic bytes."""
signature = bytes([0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x01])
with open(file_path, "rb") as f:
return f.read(16) == signature
How to validate .sol files in Node.js
Node.js
function isSOL(buffer: Buffer): boolean {
const signature = Buffer.from([0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x01]);
return buffer.subarray(0, 16).equals(signature);
}
Go
func IsSOL(data []byte) bool {
signature := []byte{0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x01}
if len(data) < 16 {
return false
}
return bytes.Equal(data[:16], signature)
}
API Endpoint
GET
/api/v1/sol
curl https://filesignature.org/api/v1/sol