Tôi đang cố gắng tìm ra đâu là một cách tốt để phát hiện xem một tệp hình ảnh có các tệp khác ẩn bên trong nó không?
liên kết liên quan:
- Ẩn tập tin bên trong hình ảnh JPEG tại phao cứu sinh
Tôi đang cố gắng tìm ra đâu là một cách tốt để phát hiện xem một tệp hình ảnh có các tệp khác ẩn bên trong nó không?
liên kết liên quan:
Câu trả lời:
Phương pháp đơn giản
Phương thức thông qua ImageMagick / convert tool
Sử dụng công cụ lệnh ImageMagick convert
để tìm sự khác biệt giữa tệp gốc và tệp được chuyển đổi. Ví dụ.
$ convert original.jpg converted.jpg # this is an ImageMagick command
$ ls -l original.jpg converted.jpg
667228 original.jpg
648515 converted.jpg
Sau đó, bạn có thể so sánh tệp nhị phân, xem: Làm cách nào để so sánh các tệp nhị phân trong Linux?
Phương thức thông qua chuỗi
Tìm kiếm bất kỳ nội dung đáng ngờ thông qua strings
. Nó sẽ in bất kỳ chuỗi có thể in nào trong một tệp có thể chỉ ra một số tệp, tin nhắn hoặc nội dung ẩn. Ví dụ.:
$ strings -10 image.jpg
Hình ảnh ví dụ: Hình ảnh gốc với thông điệp ẩn bắt đầu Cicada 3301
Phương pháp nâng cao
Phương thức thông qua hexdump
Mỗi tệp JPEG bắt đầu bằng SOI (Bắt đầu hình ảnh) với giá trị nhị phân là 0xFFD8
và nó bị chấm dứt bởi EOI Marker (Kết thúc hình ảnh) có giá trị nhị phân là 0xFFD9
.
Do đó, bạn có thể thử kiểm tra bất kỳ nội dung bổ sung nào sau điểm đánh dấu EOI. Trong ví dụ:
hexdump -C image.jpg | less +/"ff d9"
hexdump -C image.jpg | more +/"ff d9"
Phương thức qua xdd
Sử dụng xdd
công cụ dựa trên dòng lệnh với tr
và sed
để in nội dung sau EOI Marker.
Trong ví dụ:
xxd -c1 -p image.jpg | tr "\n" " " | sed -n -e 's/.*\( ff d9 \)\(.*\).*/\2/p' | xxd -r -p
Đọc thêm: Làm thế nào để kết xuất một phần của tệp nhị phân tại SE
Liên quan: