ImageMagick là một bộ công cụ cho Linux cho phép bạn thao tác hình ảnh từ dòng lệnh. Lệnh " convert " cho phép bạn thực hiện chuyển đổi hình ảnh và biến đổi hình ảnh; tuy nhiên, có một số công cụ khác được bao gồm trong bộ phần mềm, một số công cụ cho phép bạn làm việc với dữ liệu Exif trong ảnh JPEG.

Bản phân phối Linux của bạn có thể đã được cài đặt ImageMagick, nhưng nếu không, bạn có thể thêm nó vào Ubuntu, Debian và Raspbian bằng cách sử dụng:

 sudo apt-get cài đặt imagemagick 

Trên bản phân phối dựa trên RPM, bạn có thể sử dụng:

 su -c 'yum -y cài đặt ImageMagick' 

Dữ liệu định dạng tệp hình ảnh có thể thay đổi (Exif) thường được chèn vào hình ảnh JPEG được thực hiện bởi máy ảnh kỹ thuật số và điện thoại thông minh. Dữ liệu này bao gồm thông tin về ảnh bao gồm ngày và giờ chụp ảnh, cài đặt máy ảnh đã sử dụng và thậm chí vị trí GPS nơi chụp ảnh.

Để xem một số thông tin cơ bản về hình ảnh, sử dụng lệnh “ identify ” của ImageMagick:

 xác định IMG_1312.JPG 

Thật không may, kết quả đầu ra sẽ không cho bạn biết nhiều hơn tên tệp, kích thước và kích thước của tệp.

Để xem thêm, hãy sử dụng cờ “ -verbose ”:

 xác định -verbose IMG_1312.JPG 

Bây giờ chúng ta có vấn đề ngược lại; có quá nhiều đầu ra!

Bạn có thể sử dụng “ grep ” để chỉ tìm dữ liệu Exif:

 xác định -verbose IMG_1312.JPG | grep exif 

Bạn có thể tìm một trường Exif riêng lẻ bằng cách chỉ định trường đó như một phần của tìm kiếm “ grep ”:

 xác định -verbose IMG_0312.JPG | grep exif: Tạo: 

Đầu ra sẽ chỉ là hình ảnh của máy ảnh chụp ảnh, ví dụ như Canon.

Bạn có thể tìm kiếm nhiều trường cùng một lúc bằng cách sử dụng “ \| ”Toán tử trong grep. Vì vậy, để tìm kiếm ngày, tạo hình ảnh, kiểu máy ảnh, kích thước tệp, số lượng megapixel và thông tin về việc sử dụng đèn flash:

 xác định -verbose IMG1.JPG | grep "DateTime: \ | exif: Tạo: \ | exif: Model \ | Filesize \ | Flash: \ | pixel:" 

Bạn có thể tự hỏi "exif: Flash: 16" có nghĩa là gì. Trường này có thể có nhiều giá trị khác nhau và được tạo thành từ một tập hợp các cờ có các bit khác nhau trong số cho biết trạng thái của flash. Bit 0 cho biết trạng thái kích hoạt flash (1 có nghĩa là bị bắn), bit 1 và 2 cho biết nếu có bất kỳ ánh sáng hồi sáng nhấp nháy nào được phát hiện, bit 3 và 4 cho biết chế độ flash, bit 5 cho biết chức năng flash có hiện diện hay không và bit 6 cho biết Chế độ “mắt đỏ”. 16 ở dạng nhị phân là 001000 có nghĩa là flash không cháy + phát hiện trả lại nhấp nháy không khả dụng + flash bị nén. Hay nói cách khác, đèn flash không cháy và không thể nào vì nó đã bị đóng / tắt.

Danh sách đầy đủ các giá trị như sau:

 0 = Flash không cháy 1 = Flash bắn 5 = Strobe trở về ánh sáng không phát hiện 7 = Strobe trở lại ánh sáng phát hiện 9 = Flash bắn, bắt buộc flash mode 13 = Flash bắn, bắt buộc flash chế độ, trở lại ánh sáng không phát hiện 15 = Flash bắn, bắt buộc chế độ flash, ánh sáng trở lại được phát hiện 16 = Flash không kích hoạt, chế độ flash bắt buộc 24 = Flash không kích hoạt, chế độ tự động 25 = Flash được kích hoạt, chế độ tự động 29 = Flash được kích hoạt, chế độ tự động, ánh sáng trở về không phát hiện được 31 = Flash fired, auto chế độ, trở lại ánh sáng phát hiện 32 = Không có chức năng đèn flash 65 = Flash được kích hoạt, chế độ giảm mắt đỏ 69 = Flash được kích hoạt, chế độ giảm mắt đỏ, ánh sáng trở về không phát hiện được 71 = Đèn flash được kích hoạt, chế độ giảm mắt đỏ, phát lại ánh sáng 73 = Flash được kích hoạt, chế độ flash bắt buộc, chế độ giảm mắt đỏ 77 = Flash được kích hoạt, đèn flash bắt buộc, giảm mắt đỏ, không có ánh sáng trở lại 79 = Flash bắn, bắt buộc, giảm mắt đỏ, phát hiện ánh sáng trở lại 89 = Flash được kích hoạt, tự động chế độ, chế độ giảm mắt đỏ 93 = Flash được kích hoạt, chế độ tự động, không có ánh sáng trở lại, giảm mắt đỏ 95 = Flash được kích hoạt, chế độ tự động, ret urn phát hiện ánh sáng, giảm mắt đỏ 

Lo ngại về quyền riêng tư

Mặc dù việc tạo và mô hình máy ảnh của bạn được nhúng vào các bức ảnh có lẽ không phải là vấn đề riêng tư, nhưng có vị trí GPS nơi ảnh được chụp chắc chắn có thể.

Vào cuối năm 2012, John McAfee - nổi tiếng vì đã bắt đầu công ty chống virus McAfee - đã chạy trốn sau vụ giết người hàng xóm của ông ở Belize. Ông đã trốn sang Guatemala nhưng đã có một cuộc phỏng vấn độc quyền cho các phóng viên làm việc cho Vice. Thật không may McAfee đã được chụp ảnh bởi một trong những phóng viên bằng cách sử dụng một điện thoại thông minh đã lưu trữ thông tin GPS trong dữ liệu Exif. Khi bức ảnh sau đó được tải lên Internet, vị trí của anh ta đã được tiết lộ và sau đó anh ta bị bắt. Ngoài ra, các tài liệu gần đây bị rò rỉ bởi Edward Snowden cho thấy NSA phân tích ảnh để trích xuất dữ liệu Exif của họ.

Kết quả là, đôi khi rất hữu ích khi xóa tất cả dữ liệu Exif khỏi một JPEG. Điều này có thể được thực hiện bằng cách sử dụng công cụ “ mogrify ” của ImageMagick. Để xóa dữ liệu, hãy sử dụng:

 mogrify -strip IMG_0312.JPG 

Bây giờ chạy " identify -verbose " chống lại hình ảnh, và bạn sẽ nhận thấy rằng tất cả các dữ liệu Exif đã được gỡ bỏ.

Nếu bạn có bất kỳ câu hỏi nào về các lệnh, vui lòng hỏi trong phần bình luận bên dưới.