Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Nhận dạng định dạng tệp qua Magic Number

    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)
    PDF 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.

    • Định dạng đầu vào:

      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).

    • Định dạng đầu ra:

      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...