Khi phục hồi dữ liệu đã bị xoá hoặc bị đổi tên đuôi tệp, điều tra viên số dựa vào magic number — chuỗi byte đặc trưng ở đầu tệp — để xác định định dạng thật sự thay vì tin vào phần mở rộng.
Cho một chuỗi hex biểu diễn các byte đầu tiên của một tệp, hãy xác định định dạng tệp dựa trên bảng chữ ký sau (kiểm tra theo thứ tự, khớp tiền tố là đủ):
| Định dạng | Chữ ký (hex) |
|---|---|
| PNG | 89504E470D0A1A0A |
| JPEG | FFD8FF |
| GIF | 474946383761 (GIF87a) hoặc 474946383961 (GIF89a) |
255044462D (%PDF-) |
|
| ZIP | 504B0304 |
| ELF | 7F454C46 |
Nếu không khớp chữ ký nào, kết luận là UNKNOWN.
Ví dụ: hex 89504E470D0A1A0A0000000D49484452 khớp chữ ký PNG ở đầu chuỗi nên kết quả là PNG.
Một dòng duy nhất: chuỗi hex (không có tiền tố 0x, có thể viết hoa hoặc thường, độ dài chẵn, có thể ngắn hơn độ dài chữ ký cần thiết hoặc rỗng).
In ra đúng một dòng là tên định dạng viết hoa: một trong PNG, JPEG, GIF, PDF, ZIP, ELF, hoặc UNKNOWN nếu không khớp chữ ký nào.
Ví dụ:
Đầu vào:
89504E470D0A1A0A0000000D49484452
Đầu ra:
PNG
Đầu vào:
FFD8FFE000104A46494600010100
Đầu ra:
JPEG
Đang tải editor...