إزالة البيانات الوصفية المخفية من صور HEIC لآيفون
01 لماذا يُعد HEIC مشكلة مختلفة عن JPEG
منذ iOS 11 (عام 2017)، تحفظ أجهزة آيفون الصور افتراضيًا بتنسيق HEIC بدلًا من JPEG. يحمل HEIC بالضبط نفس أنواع البيانات الوصفية التي تحملها أي صورة أخرى - طراز الكاميرا، إحداثيات GPS، الطابع الزمني، صورة مصغّرة مضمّنة - لكن الملف نفسه مبنيّ داخليًا بشكل مختلف: إنه حاوية ISO-BMFF (نفس العائلة التي تستخدمها أيضًا ملفات فيديو MP4)، تُغلِّف بيانات صور مُرمَّزة بـHEVC، وليس تنسيق JPEG الأقدم الذي بُنيت من أجله أصلًا معظم أدوات "إزالة EXIF". هذا الفارق أهم مما يبدو: ترميز HEVC محمي ببراءة اختراع، لذا لا يوجد فاكّ ترميز ناضج ومفتوح المصدر بالكامل كما هو الحال مع JPEG أو PNG - ولهذا بالضبط تمتنع أدوات "إزالة EXIF" الكثيرة عن قبول HEIC إطلاقًا، أو تُحوّله بهدوء عبر تمريره أولًا خلال خادم.
تعمّق أكثر: كيف تتعامل هذه الأداة فعليًا مع HEIC دون رفعه
هذا هو التنسيق الوحيد على هذا الموقع الذي يعمل عمدًا بشكل مختلف عن كل التنسيقات الأخرى. لا توجد اليوم طريقة لفك ترميز بكسلات مُرمَّزة بـHEVC دون اعتمادية C، ومكتبات C القادرة على ذلك (نفس فئة المكتبة التي تستخدمها تطبيقات الصور الحقيقية) لا تُترجَم بشكل نظيف إلى WebAssembly. لذا، بدلًا من جلب هذه الاعتمادية إلى المحرك الرئيسي، يستخدم دعم HEIC وحدة WebAssembly ثانية منفصلة، بُنيت لهذا الغرض تحديدًا، تفكّ ترميز ملف HEIC إلى بكسلات خام - كل ذلك دون مغادرة تبويب المتصفح هذا، ودون إرسال أي شيء إلى أي مكان. تُعاد ترميز هذه البكسلات فورًا كملف PNG عادي، ثم يمر هذا الـPNG عبر العملية الحقيقية لإزالة البيانات الوصفية وفحص التهديدات، نفس العملية التي يستخدمها أي تنسيق آخر على هذا الموقع. الشيء الوحيد الذي يعنيه ذلك بالنسبة لك: يُظهر التقرير "PNG" كتنسيق تمت معالجته، مع إشارة إلى أنه حُوِّل من HEIC، لأنه في اللحظة التي يرى فيها المُعقِّم الفعلي الملف، هذا هو ما هو عليه فعليًا.
ما الذي يوجد فعليًا في صورة آيفون
كل ما ورد في صفحة البيانات الوصفية العامة ينطبق هنا - إحداثيات GPS دقيقة إلى أمتار قليلة، تفاصيل الكاميرا والعدسة، التاريخ والوقت بالضبط، صورة مصغّرة مضمّنة قد تكشف نسخة سابقة غير مقصوصة من اللقطة. تضيف أجهزة آيفون شيئًا آخر: تحفظ صور Live Photo مقطع فيديو قصيرًا بجانب الصورة الثابتة، بطابعه الزمني وبياناته الخاصة بالموقع؛ ويمكن للقطات في وضعي البورتريه والسينما أن تحمل بيانات خرائط عمق إضافية؛ وتعديلات تطبيق الصور (القص، الفلاتر، markup) غالبًا غير إتلافية، ما يعني أن النسخة الأصلية غير المُعدَّلة - وبياناتها الوصفية الأصلية - قد تبقى قابلة للاسترجاع داخل الملف، حتى بعد أن تظن أنك قصصت شيئًا.
لماذا "تحويل HEIC إلى JPG" ليس نفس إزالة البيانات الوصفية
توجد أدوات مجانية كثيرة لتحويل "HEIC إلى JPG"، وقد يزيل تحويل التنسيقات بعض البيانات الوصفية عرضًا كأثر جانبي - لكن هذا يختلف عن أداة مبنية فعليًا لإزالتها عمدًا وإظهار ما كان موجودًا لك. تحافظ بعض أدوات التحويل على EXIF عمدًا (للمصورين الذين يريدون الاحتفاظ به)، وتزيله أخرى بشكل غير متسق حسب الحقول التي تدعمها مكتبة أداة التحويل مصادفةً، ولا تفحص معظمها شيئًا سوى البيانات الوصفية - يمكن لحمولة متعددة الأشكال أو محتوى إخفاء رقمي أن ينجو بسهولة من مجرد تحويل تنسيق بسيط، لأن إزالة ذلك ليس الغرض الذي بُنيت من أجله هذه الأدوات. أما فك الترميز إلى بكسلات خام وإعادة بناء الملف من الصفر، وهو ما يحدث هنا بغض النظر عن تنسيق الإدخال، فيزيل البيانات الوصفية كضمان بنيوي وليس كأثر جانبي، وهذا هو نفس إعادة البناء التي تشرحها صفحة المقارنة في هذا الموقع بتفصيل أكبر.