تحدثنا مسبقاً بشكل كبير عن التحقيق الجنائي الرقمي في أكثر من مقال , اليوم بإذن الله سوف نقوم بعملية التحقيق الجنائي الرقمي على صورة معينه تم إلتقاطها مسبقاً وسوف نستخرج معلومات هذه الصورة بشكل مفصل من خلال قرأة معلومات Exif وكذلك من خلال كتابة سكربت بلغة بايثون يقوم بقرأة هذه المعلومات وعرضها لنا بالتفصيل.

fingerprint

ما هي Exchangeable image file format – Exif !

هي عباره عن جميع المواصفات والخصائص التي تكون خاصه بملفات الصور , وتستخدمها جميع كاميرات التصوير الرقمية بالإضافة لجميع الأجهزه الذكية الحديثه , وهي تصف بشكل عام تاريخ إلتقاط الصورة ووقت إلتقاط الصورة ونوع الكاميرا وإصدارها وكذلك وصف للصورة وأيضاً حقوق الصورة ومعلومات أخرى سوف نتعرف عليها في هذا المقال إن شاء الله.

Exif موجوده في العديد من الصيغ الخاصه بالصور منها :

  • JPEG
  • TIFF
  • RIFF
  • WAVE

بينما ليست موجوده في هذه الصيغ :

  • PNG
  • JPEG 2000

حسناً ! بعد ما تعرفنا على أكثر على Exif وحصلنا على معلومات عن الصيغ المدعومه وما هي الأمور التي نستطيع إستخراجها منها , سوف نقوم الأن بتحليل صورة تم إلتقاطها من جهاز Samsung S2 وسوف نلاحظ ما هي الأمور التي سوف نستخرجها ومقارنتها بالأمور الحقيقية الموجوده لدينا.

ولكن قبل هذا , سوف يسأل شخص ما هي الفائدة من هذه العملية ؟ لنتفرض أن هنالك شخص تم إتهامه بإلتقاط صور لأماكن عسكرية أو سياسية حساسه وتم مصادرة جهاز هذا الشخص وطلب منك تحليل هذه الصورة ومعرفه تاريخ الإلتقاط ونوع الجهاز المستخدم وجميع هذه الأمور وتقديمها بتقرير لجهه معينه , سوف تبدأ بالبحث عن هذه المعلومات وإستخراجها من خلال Exif , كيف ستتمكن من ذلك ؟

سوف نقوم ببرمجة سكربت بلغة Python يقوم بإستخراج معظم الخصائص والمواصفات الخاصه بالصورة عبر وسوم Exif بكل سهوله .. في حال كنت من محبين البرامج الجاهزه سوف أقوم بإرفاق برنامج يعمل على ويندوز لإستخراج هذه المعلومات 😀

حسناً .. هذه الصورة توضح الصورة التي سوف نقوم بعملية إستخراج المعلومات منها بشكل كامل وهي صورة تم إلتقاطها لللابتوب الخاص بي أثناء كتابة هذه المقالة.

my_laptop

 

ممتاز جداً ..الصورة الموضحه لدينا واضحه بشكل كامل .. سوف نقوم بتحليلها من خلال كتابة كود بايثون بسيط جداً يستخدم مكتبة PIL “Python Imaging Library” الخاصه بالتعامل مع الصور وسوف نقوم بقرأة الوسوم الخاصه بExif من خلالها وهذا الكود يقوم بإستخراج الوسوم وطباعتها :

python_code

الكود يقوم بإستدعاء المكاتب التالية :

  • sys : لأخذ إسم الصورة من المستخدم.
  • الموديول Image من مكتبة PIL : لإستدعاء الموديولات والدوال اللزمه لفتح الصور والتعامل معها.
  • الموديول TAGS من مكتبة PIL أيضاً : لإستدعاء الموديولات والدوال اللزمة لقرأة الوسوم الخاصه ب Exif.

وبعد ذلك يقوم فتح الملف وتمرير حلقة For التي تفيد بالتكرار لطباعة المتغيرات tag , value التي تم تعريفها مسبقاً بأنها الوسم والقيمه الخاصه ب exif tags , ومن ثم يقوم بطباعة النتائج بكل سهولة لكي يكون الناتج كالتالي :

pass_arg

 

قمنا بتمرير الصورة إلى الملف وهذا الناتج النهائي الأن :

results_exif

 

كما نشاهد قام السكربت بإستخراج جميع الوسوم الخاصه بالصورة والتي تحتوي على المواصفات والخصائص الخاصه بالصورة , وأهمها بالنسبة لنا هو :

  • DateTimeOriginal : الوقت الأصلي لإلتقاط الصورة.
  • Make : نوع الجهاز الذي تم إلتقاط الصورة منه.
  • ExifVersion : إصدار Exif وهو كما نشاهد 0220.

طبعاً جميع الوسوم المذكورة أعلاه مفيده جداً لنا ولكنني إستعرضت الأكثر أهمية بالنسبة لي.

في حال كنت تحب إستخدام أداوت على نظام Windows بشكل جاهز تستطيع إستخدام أداة Opanda IExif لإستعراض جميع وسوم Exif بشكل سهل وبسيط وهذه الصورة توضح النتائج :

 

 

 

Opanda_Exif

 

كما نلاحظ تم إستخراج جميع المعلومات التي نريدها بكل سهولة من خلال  Opanda IExif الذي يعمل على نظام Windows.

من الممكن أحياناً أن تحتوي الصور على إحداثيات خط الطول وخط العرض مما يمكننا من تحديد موقع إلتقاط الصورة في حالات معينة سوف نتعرف عليها لاحقاً إن شاء الله ضمن مجموعة دروس تتحدث عن تحديد المواقع إلكترونياً 😀

أتمنى أن يكون المقال نال إعجابكم وبإذن الله لنا لقاء أخر في مقالات أخرى.