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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
steganography — أداة إخفاء صور بسيطة بلغة C++ لتشفير وإخفاء الملفات داخل الصور باستخدام ترميز البت الأقل أهمية. | Kitploit
أدوات/GitHubGitHub/7thsamurai/steganography
أدوات التشفير/فك التشفيرتسريب البياناتإخفاء المعلوماتالتشفير
GitHub7thsamurai/steganography

steganography

أداة إخفاء صور بسيطة بلغة C++ لتشفير وإخفاء الملفات داخل الصور باستخدام ترميز البت الأقل أهمية.

عرض المستودع
1.1k77منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

أداة إخفاء البيانات في الصور

أداة بسيطة مكتوبة بلغة C++ تستخدم التشفير وإخفاء البيانات لحماية محتويات ملف، ثم تقوم بتضمينها داخل بيانات البكسل في الصورة باستخدام ترميز البت الأقل أهمية (LSB). تعمل على أنظمة Linux وMacOS وWindows.

التضمين

root@kitploit:~
$ ./steganography encode -i data/orig.png -e data/jekyll_and_hyde.zip -o output.png
Password: 1234
* Image size: 640x426 pixels
* Encoding level: Low (Default)
* Max embed size: 132.38 KiB
* Embed size: 61.77 KiB
* Encrypted embed size: 61.78 KiB
* Generated CRC32 checksum
* Generated encryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Encrypted embed with AES-256-CBC
* Embedded jekyll_and_hyde.zip into image
* Sucessfully wrote to output.png

الصورة الأصلية:

الصورة الأصلية

صورة تحتوي على ملف ZIP مضمن يحتوي على كامل محتويات كتاب "د. جيكل والسيد هايد":

صورة مع الملف المضمن

فك التضمين

root@kitploit:~
$ ./steganography decode -i output.png -o "out - jekyll_and_hyde.zip"
Password: 1234
* Image size: 640x426 pixels
* Generated decryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Sucessfully decrypted header
* File signatures match
* Detected embed jekyll_and_hyde.zip
* Encoding level: Low (Default)
* Encrypted embed size: 61.78 KiB
* Successfully decrypted the embed
* Decrypted embed size: 61.77 KiB
* CRC32 checksum matches
* Successfully wrote to out - jekyll_and_hyde.zip

البناء

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j 4

الاستخدام

root@kitploit:~
Usage: steganography [-h] {decode,encode}

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits

Subcommands:
  decode        Decodes and extracts an embed-file from an image
  encode        Encodes an embed-file into an image

التضمين

root@kitploit:~
Usage: encode [-h] --input VAR --output VAR --embed VAR [--passwd VAR]

Encodes an embed-file into an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output image. [required]
  -e, --embed  	specify the file to embed. [required]
  -p, --passwd 	specify the encryption password.

فك التضمين

root@kitploit:~
Usage: decode [-h] --input VAR [--output VAR] [--passwd VAR]

Decodes and extracts an embed-file from an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output file. [default: ""]
  -p, --passwd 	specify the encryption password.

نظرية التشغيل

التضمين

يعمل البرنامج أولاً عن طريق توليد عشوائي لـ 128-bit Password Salt و 128-bit AES Initialization Vector من خلال قراءة بيانات ثنائية من /dev/urandom. ثم يستخدم Password Salt كمعامل في توليد مفتاح تشفير، باستخدام PBKDF2-HMAC-SHA-256 على سلسلة نصية يدخلها المستخدم. ثم يتم حساب تجزئة CRC32 للملف المراد تضمينه، وتخزينها في الرأس (header) لتعمل كمجموع تدقيقي لصحة البيانات. بعد ذلك يتم حشو البيانات الثنائية للملف باستخدام خوارزمية PKCS #7، ثم يتم تشفير كل من الرأس والبيانات المحشوة باستخدام AES-256 في وضع CBC، باستخدام Initialization Vector الذي تم توليده سابقاً. الآن يتم تضمين البيانات فعلياً داخل الصورة عن طريق اختيار إزاحة عشوائية أولاً، ثم المرور عبر كل بت من البيانات وتخزينها داخل بيانات بكسل الصورة الفعلية، وذلك بتعيين البت الأقل أهمية لكل قناة بايت في كل بكسل.

فك التضمين

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

الاكتشاف

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

إخلاء مسؤولية

لا تستخدم هذا البرنامج لتشفير وإخفاء بيانات مهمة ترغب في إبعادها عن أعين المتطفلين. هذا مجرد برنامج بسيط لإثبات المفهوم (proof-of-concept) صنعته للمتعة. أنا لست خبير تشفير. أنا مجرد هاوٍ، استخدمه على مسؤوليتك الخاصة.

حقوق النشر

هذا البرنامج مرخص بموجب MIT. حقوق النشر © 2022 Zach Collins

تنزيل الأداة