Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sherloq — مجموعة أدوات مفتوحة المصدر لتحليل الصور الرقمية الجنائي | Kitploit
أدوات/GitHubGitHub/guidobartoli/sherloq
التحقيق الجنائي الرقميإخفاء المعلوماتالتحاليل الرقمية الجنائيةالتشفيرتعلم الآلةالأوراق والأبحاثالتعلم والتعليم
GitHubguidobartoli/sherloq

sherloq

مجموعة أدوات مفتوحة المصدر لتحليل الصور الرقمية الجنائي

عرض المستودع
3.2k305منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Sherloq
مجموعة أدوات مفتوحة المصدر لتحليل الصور الرقمية الجنائي

مقدمة

"تحليل الصور الجنائي هو تطبيق علوم الصور والخبرة المتخصصة لتفسير محتوى الصورة و/أو الصورة نفسها في المسائل القانونية. تشمل التخصصات الفرعية الرئيسية لتحليل الصور الجنائي مع تطبيقات إنفاذ القانون: القياس التصويري، المقارنة التصويرية، تحليل المحتوى، والتحقق من الصحة." (مجموعة العمل العلمية لتقنيات التصوير)

Sherloq هو مشروع بحث شخصي حول تطبيق بيئة متكاملة بالكامل لتحليل الصور الرقمية الجنائي. ليس المقصود منه أداة تلقائية تقرر ما إذا كانت الصورة مزيفة أم لا (تلك الأداة ربما لن توجد أبدًا...)، بل كمرافق في تجربة خوارزميات متنوعة موجودة في أحدث الأوراق البحثية وورش العمل.

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

أؤمن بشدة أن الأمن من خلال الغموض هو الطريق الخطأ لتقديم أي نوع من الخدمات الجنائية (على سبيل المثال: "باستخدام هذا البرنامج الاحتكاري، أضمن لك أن هذه الصورة سليمة... وعليك أن تثق بي!"). وفقًا لفلسفة المصدر المفتوح، يجب أن يكون الجميع قادرين على تجربة تقنيات متنوعة بأنفسهم، واكتساب المعرفة ومشاركتها مع المجتمع... بل أفضل إذا ساهموا بتحسينات في الكود! :)

  • التاريخ
  • الميزات
  • لقطات الشاشة
  • التثبيت
  • هيكل المشروع
  • التحديثات
  • المراجع

التاريخ

تمت كتابة النسخة الأولى في عام 2015 باستخدام C++11 لبناء أداة سطر أوامر مع العديد من الخيارات، لكن سرعان ما أصبحت مرهقة وغير تفاعلية بدرجة كافية. يمكن تجميع تلك النسخة باستخدام CMake بعد تثبيت مكتبات OpenCV و Boost و AlgLib. عرضت هذه النسخة الأولى حوالي 80% من الميزات المخططة (انظر أدناه للقائمة الكاملة).

بينما تضمنت أيضًا خوارزميات جديدة، أضافت نسخة 2017 بشكل أساسي واجهة مستخدم رسومية متعددة النوافذ مبنية على Qt لتوفير تجربة مستخدم أفضل. يمكن عرض تحليلات متعددة على الشاشة وتم تنفيذ عارض سريع للتصغير/التكبير للتنقل في الصور بسهولة. يمكن تجميع هذا المشروع باستخدام Qt Creator مع Qt 5 و OpenCV 3 ويغطي حوالي 70% من الميزات المخططة.

بسرعة نحو عام 2020 عندما قررت نقل كل شيء إلى Python (PySide2 + Matplotlib + OpenCV) لتسهيل التطوير والنشر. على الرغم من أن هذه التكرار قد بدأت للتو ولم أنقل بعد كل الكود السابق إلى المنصة الجديدة، أعتقد أن هذا سيكون "الشكل" النهائي للمشروع (طالما لم يتطوع أحد لتطوير تطبيق ويب جميل!).

أنا سعيد بمشاركة كودي والتواصل مع أي شخص مهتم بتحسينه أو اختباره، لكن يرجى وضع في الاعتبار أن هذا المستودع ليس مخصصًا لتوزيع منتج نهائي، هدفي هو فقط تتبع التطوير علنًا لأداة تعليمية متواضعة، لذا توقع وجود أخطاء وكود غير مصقول وميزات مفقودة! ;)

الميزات

تحتوي هذه القائمة على الوظائف التي ستوفرها المجموعة (نأمل) بمجرد الوصول إلى مرحلة بيتا (ملاحظة: الوظائف المعروضة بـ مائل داخل البرنامج لم يتم تنفيذها بعد!).

الواجهة

  • واجهة مستخدم رسومية حديثة مبنية على Qt مع إدارة نوافذ أدوات متعددة
  • دعم للعديد من التنسيقات (JPEG, PNG, TIFF, BMP, WebP, PGM, PFM, GIF)
  • عارض صور سريع الاستجابة مع إمكانية التصغير والتكبير في الوقت الفعلي
  • العديد من الخوارزميات الحديثة لتجربتها تفاعليًا
  • تصدير النتائج المرئية والنصية للتحليل
  • مساعدة مكثفة عبر الإنترنت مع شروحات ودروس

الأدوات

عام

  • الصورة الأصلية: عرض الصورة المرجعية غير المعدلة للفحص البصري
  • ملخص الملف: استرجاع معلومات الملف الفعلية، التجزئات التشفيرية والإدراكية
  • محرر سداسي عشري: فتح محرر سداسي عشري خارجي لعرض وتحرير البايتات الخام
  • بحث مشابه: تصفح خدمات البحث عبر الإنترنت للعثور على صور متشابهة بصريًا

بيانات وصفية

  • هيكل الرأس: تفريغ هيكل رأس الملف وعرض عرض تفاعلي
  • تفريغ EXIF كامل: مسح البيانات الوصفية للملف وجمع جميع المعلومات المتاحة
  • تحليل الصورة المصغرة: استخراج الصورة المصغرة المضمنة الاختيارية ومقارنتها مع الأصلية
  • بيانات الموقع الجغرافي: استرجاع بيانات الموقع الجغرافي الاختيارية وعرضها على خريطة العالم

فحص

  • مكبر تعزيزي: عدسة مكبرة مع تحسينات لتحديد التزوير بشكل أفضل
  • رسم بياني للقنوات: عرض قنوات الألوان الفردية أو رسم بياني تفاعلي مركب RGB
  • تعديلات عامة: تطبيق تعديلات الصور القياسية (السطوع، الدرجة، التشبع، ...)
  • مقارنة مرجعية: فتح عرض مزدوج متزامن للمقارنة مع صورة أخرى

تفاصيل

  • تدرج السطوع: تحليل التغيرات الأفقية/الرأسية في السطوع عبر الصورة
  • مرشح حافة الصدى: استخدام مرشحات مشتقة لكشف المناطق المصطنعة خارج نطاق التركيز
  • عتبة المويجة: إعادة بناء الصورة بعتبات مختلفة لمعاملات المويجة
  • تقسيم التردد: تقسيم سطوع الصورة إلى مكونات عالية ومنخفضة التردد

ألوان

  • رسوم RGB/HSV: عرض رسوم تفاعلية ثنائية وثلاثية الأبعاد لقيم البكسل RGB و HSV
  • تحويل الفضاء: تحويل قنوات RGB إلى فضاءات HSV/YCbCr/Lab/Luv/CMYK/Gray
  • إسقاط PCA: استخدام PCA للألوان لإسقاط البكسل على المكونات الأكثر بروزًا
  • إحصائيات البكسل: حساب قيم RGB الدنيا/القصوى/المتوسطة لكل بكسل

ضوضاء

  • فصل الضوضاء: تقدير واستخراج مكونات ضوضاء الصورة المختلفة
  • الانحراف الأدنى/الأقصى: تمييز البكسلات المنحرفة عن الإحصائيات الدنيا/القصوى القائمة على الكتل
  • قيم الطائرات البتية: عرض طائرات البت الفردية للعثور على أنماط ضوضاء غير متناسقة
  • حجب المويجة: عرض متوسط مستويات الضوضاء في الصورة للعثور على تناقضات الضوضاء
  • تحديد PRNU: استغلال ضوضاء نمط المستشعر الناتجة عن الكاميرات المختلفة

JPEG

  • تقدير الجودة: استخراج جداول التكميم وتقدير جودة JPEG الأخيرة المحفوظة
  • تحليل مستوى الخطأ: عرض الفرق على مستوى البكسل مقابل مستويات ضغط ثابتة
  • الضغط المتعدد: استخدام نموذج تعلم آلي للكشف عن الضغط المتعدد
  • خرائط أشباح JPEG: تمييز آثار مستويات ضغط مختلفة في صور الفرق

تزوير

  • تعزيز التباين: تحليل توزيع الألوان للكشف عن تحسينات التباين
  • تزوير النسخ واللصق: استخدام واصفات الميزات الثابتة للكشف عن المناطق المنسوخة
  • التركيب المقطعي: استغلال إحصائيات DCT للكشف التلقائي عن مناطق القطع
  • إعادة أخذ العينات: تقدير استيفاء البكسل ثنائي الأبعاد للكشف عن آثار إعادة أخذ العينات

متنوع

  • الترشيح الوسيط: الكشف عن آثار المعالجة التي خلفها الترشيح الوسيط غير الخطي
  • خريطة الإضاءة: تقدير اتجاه الضوء المحلي للمشهد على الأسطح ثلاثية الأبعاد المقدرة
  • البكسلات الميتة/الساخنة: الكشف عن البكسلات الميتة/الساخنة الناتجة عن عيوب المستشعر وإصلاحها
  • فك تشفير الاستريوجرام: فك تشفير الصور ثلاثية الأبعاد المخفية في الاستريوجرامات الذاتية العرض المتقاطعة

لقطات الشاشة

عام
عام: Original Image, Hex Editor, File Digest, Similar Search

بيانات وصفية
بيانات وصفية: EXIF Full Dump, Header Structure

فحص
فحص: Enhancing Magnifier, Channel Histogram, Reference Comparison

تفاصيل
تفاصيل: Luminance Gradient, Echo Edge Filter, Wavelet Threshold, Frequency Split

ألوان
ألوان: RGB/HSV Plots, Space Conversion, PCA Projection, Pixel Statistics

ضوضاء
ضوضاء: Signal Separation, Min/Max Deviation, Bit Plane Values

JPEG
JPEG: Quality Estimation, Error Level Analysis

تزوير
تزوير: Contrast Enhancement, Copy/Move Forgery, Composite Splicing, Median Filtering

التثبيت

[1/4] تنزيل الكود المصدري

انسخ المستودع الحالي إلى مجلد محلي وانتقل إلى ذلك المجلد.

[2/4] إنشاء بيئة افتراضية

يستخدم Sherloq Python 3.11. الإعداد الموصى به يستخدم uv لأنه يوفر نفس سير العمل على Linux و macOS و Windows، ويمكنه تثبيت Python عند الحاجة، ويحتفظ ببيئة المشروع في مجلد .venv المحلي.

قم بتثبيت uv باتباع دليل التثبيت الرسمي، ثم أنشئ البيئة من مجلد Sherloq الجذر:

root@kitploit:~
$ uv venv --python 3.11

يتضمن المستودع أيضًا ملف .python-version، لذلك ستستخدم أوامر uv المستقبلية Python 3.11 بشكل افتراضي.

[3/4] تثبيت التبعيات

root@kitploit:~
$ uv pip install -r gui/requirements.txt

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

root@kitploit:~
$ uv pip install -r gui/requirements_ai_solutions.txt

[4/4] تشغيل البرنامج

يمكن تشغيل Sherloq من جذر المستودع. تحل حزمة التطبيق مسارات الرموز والنماذج والأدوات المضمنة من خلال مسارات المشروع المركزية.

Linux/macOS

root@kitploit:~
$ source .venv/bin/activate
$ python -m gui.sherloq_app

Windows PowerShell

root@kitploit:~
> .venv\Scripts\Activate.ps1
> python -m gui.sherloq_app

يمكنك أيضًا استخدام مشغل التوافق الموجود في جذر المستودع:

root@kitploit:~
$ python sherloq.py

ملاحظة لمستخدمي Linux: إذا ظهر هذا الخطأ:

root@kitploit:~
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

قم بتشغيل هذا الأمر في الطرفية: sudo apt install -y libxcb-cursor-dev

هيكل المشروع

توجد حزمة تطبيق Python Qt الآن في الحزمة القابلة للاستيراد gui/sherloq_app:

  • main.py: نقطة دخول تطبيق Qt والنافذة الرئيسية.
  • core/: أدوات مساعدة مشتركة لمعالجة الصور مثل أدوات JPEG وتحميل الملفات.
  • ui/: أدوات Qt قابلة لإعادة الاستخدام، العارضون، الجداول وشجرة الأدوات.
  • tools/: أدوات التحليل مجمعة حسب فئة صندوق الأدوات (general, metadata, inspection, detail, colors, noise, jpeg, tampering, various).
  • paths.py: وصول مركزي للرموز والنماذج والأدوات المساعدة المضمنة الأصلية بحيث لم يعد الكود يعتمد على التشغيل من .

تبقى الأصول الكبيرة المضمنة ومكونات البحث من جهات خارجية تحت gui/icons، gui/models، gui/noiseprint، gui/pyexiftool، gui/butteraugli، gui/ssimulacra و gui/TruFor_main الاختياري.

انظر docs/project-structure.md للحصول على خريطة موجهة للمساهمين.

التحديثات

عند إصدار نسخة جديدة، قم بتحديث نسخة العمل المحلية باستخدام Git أو بتنزيل أحدث مصدر، ثم قم بتحديث البيئة من مجلد Sherloq الجذر:

root@kitploit:~
$ uv pip install --upgrade -r gui/requirements.txt

إذا قمت بتثبيت التبعيات الاختيارية للذكاء الاصطناعي، قم بتحديثها أيضًا:

root@kitploit:~
$ uv pip install --upgrade -r gui/requirements_ai_solutions.txt

الموارد الموصى بها للبدء

  • ورقة بحثية مع أمثلة عملية وتحليل مدروس للتقنيات التي تم تنفيذها لاحقًا في Sherloq: "A Picture's Worth: Digital Image Analysis and Forensics" (Neal Krawetz) [ورقة]
  • أطروحة مع أمثلة عملية وتحليل مدروس لاستخدام أدوات "JPEG Ghosts" و "Image Resampling" و "Noise Wavelet Blocking" المطبقة في Sherloq. يقدم هذا العمل أيضًا رؤى حول استخدام وموثوقية الأساليب المدعومة بالذكاء الاصطناعي في تحليل الصور الرقمية الجنائي. (UHstudent) [ورقة]

المراجع للخوارزميات المطبقة في Sherloq

  • إعادة أخذ العينات: "Exposing Digital Forgeries by Detecting Traces of Re-sampling" (Alin C. Popescu and Hany Farid) [ورقة]
  • أشباح JPEG: "Exposing Digital Forgeries from JPEG Ghosts" (H. Farid) [ورقة]
  • حجب ضوضاء المويجة: "Using noise inconsistencies for blind image forensics" (Babak Mahdian and Stanislav Saic) [ورقة]

قائمة المراجع

  • "Noiseprint: a CNN-based camera model fingerprint" (Davide Cozzolino, Luisa Verdoliva) [موقع]
  • "Two Improved Forensic Methods of Detecting Contrast Enhancement in Digital Images" (Xufeng Lin, Xingjie Wei and Chang-Tsun Li) [ورقة]
تنزيل الأداة
gui