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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
File-Injector — File Injector هو سكربت يتيح لك تخزين أي ملف داخل صورة باستخدام تقنية إخفاء البيانات (Steganography). | Kitploit
أدوات/GitHubGitHub/carlospuenteg/file-injector
أدوات التشفير/فك التشفيرتسريب البياناتإخفاء المعلوماتالتشفير
GitHubcarlospuenteg/file-injector

File-Injector

File Injector هو سكربت يتيح لك تخزين أي ملف داخل صورة باستخدام تقنية إخفاء البيانات (Steganography).

عرض المستودع
44329منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

File Injector

إذا كنت تريد استخدام إصدار سابق (1.0.2 أو أقل)، حيث كنت بحاجة إلى الصورة الأصلية لاستخراج الملف، يمكنك تنزيله هنا.

الفهرس

  • 1. الوصف
  • 2. البدء
    • تثبيت المتطلبات
    • تشغيل السكربت
    • اختيار المدخلات
      • اختيار صورة/صوت أساسي
      • اختيار ملف إدخال
      • اختيار/إنشاء مفتاح تشفير
  • 3. النتائج
  • 4. أمثلة على الاستخدام
    • الحقن
    • الاستخراج
  • 5. الإعدادات
  • 6. ماذا يفعل
  • 7. كيف يعمل
    • الخيارات
    • inject_file_func
    • extract_file_func
    • get_fernet
    • decrypt_content
    • inject_file
    • extract_file

1. الوصف

File Injector هو سكربت يتيح لك تخزين أي ملف (.zip، .png، .txt، .gba...) مع اسمه في صورة/صوت على شكل ضوضاء، باستخدام إخفاء البيانات (Steganography).

يمكنك أيضًا اختيار تشفير ملف الإدخال قبل تخزينه.

ثم، لـاستخراج الملف من الصورة/الصوت المعدّل، لست بحاجة إلى الصورة/الصوت الأصلي، فقط مفتاح التشفير إذا كان الملف قد تم تشفيره.

2. البدء

تثبيت المتطلبات

root@kitploit:~
python3 -m pip install -r requirements.txt

إذا لم يعمل ذلك، يمكنك تجربة:

root@kitploit:~
py -m pip install -r requirements.txt

تشغيل السكربت

root@kitploit:~
python3 main.py

اختيار المدخلات

اختيار صورة/صوت أساسي

اختر صورة/صوتًا أساسيًا لتخزين الملف من مجلد files/base.

يمكنك أيضًا إضافة صور/صوتيات خاصة بك إلى هذا المجلد.

  • يمكن أن تكون الصور .png أو (.jpg/.jpeg)، لكن سيتم تحويلها إلى .png عند تشغيل السكربت.
  • يجب أن تكون الصوتيات .mp3 أو .wav، لكن سيتم تحويلها إلى .mp3 عند تشغيل السكربت.

اختيار ملف إدخال

اختر ملفًا ليتم تخزينه في الصورة/الصوت من مجلد files/input.

يمكنك إضافة ملفات خاصة بك إلى هذا المجلد. يمكن أن تكون أي نوع من الملفات.

اختيار صورة/صوت معدّل

اختر صورة/صوتًا معدّلًا لاستخراج الملف منه من مجلد files/modified.

يمكنك أيضًا إضافة صور/صوتيات معدّلة خاصة بك إلى هذا المجلد.

اختيار/إنشاء مفتاح تشفير

يمكنك اختيار مفتاح من مجلد files/$encryption-keys أو إنشاء واحد فيه.

يجب أن يكون امتداد ملف المفتاح .key

لست بحاجة لاختيار مفتاح معيّن عند فك تشفير ملف، حيث سيتم اختياره تلقائيًا من المجلد.

3. النتائج

تحتوي هذه الصورة بدقة 17.1MP على ملف .zip مشفّر بحجم 9MB مع اسمه مخزّنًا كضوضاء.

<img src="https://raw.githubusercontent.com/carlospuenteg/file-injector/HEAD/readme-assets/17"1MP_mod.png" width=500>

تحتوي هذه الصورة بدقة 1.7MP على ملف .zip مشفّر بحجم 0.93MB مع اسمه مخزّنًا كضوضاء.

<img src="https://raw.githubusercontent.com/carlospuenteg/file-injector/HEAD/readme-assets/1"7MP_mod.png" width=500>

يحتوي هذا الملف الصوتي بحجم 42MB على ملف .zip مشفّر بحجم 9MB مع اسمه مخزّنًا كضوضاء.

https://user-images.githubusercontent.com/65092569/202014519-24514110-4bd2-4c2b-9307-237964df0c2b.mp4

4. أمثلة على الاستخدام

الحقن

root@kitploit:~
... File-Injector % python3 main.py
[0] EXIT
[1] Inject file
[2] Extract file

Option: 1
File to be stored: images.zip
Filename of the base image: 2'2MP
Encrypt the file? (y/n): y

Do you want to use an existing key or generate a new one?
[0] Existing key
[1] New key

Option: 1
Filename of the new key file (blank for default): 
Key generated and saved to files/$encryption-keys/key9.key

Preparing...

Modified bits per channel: 2
Image modification: 1.56%

✅ Storing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [100.0%]

Generating random values...

Storing random values...

Reshaping...

Modified image saved in files/modified-images/2'2MP_mod.png

Done in 7.5892 seconds

الاستخراج

root@kitploit:~
... File-Injector % python3 main.py
[0] EXIT
[1] Inject file
[2] Extract file

Option: 2
Filename of the modified image: 2'2MP_mod

Preparing...

Retrieving filename...

Retrieving input file...
Decrypted with "files/$encryption-keys/key2.key"

Output file saved in files/output-files/images.zip

Done in 1.4083 seconds

5. الإعدادات

يمكنك تغيير الإعدادات في ملف config.py.

6. ماذا يفعل

يتم الحقن عن طريق تخزين الملف في البتات X الأقل أهمية من كل عنصر في المصفوفة الناتجة عن تسطيح مصفوفة الصورة/الصوت.

  • يحتوي كل عنصر على 8 بتات (إذا كان الملف الأساسي صورة) أو 16 بتًا (إذا كان الملف الأساسي صوتًا)
  • يغيّر هذا السكربت من 1 إلى جميع البتات في كل عنصر، اعتمادًا على حجم الملف المراد تخزينه مقارنةً بالصورة/الصوت الأساسي.
  • إذا قمت بتخزين ملف أكبر أو إذا كانت الصورة/الصوت الأساسي أصغر، سيتم تغيير بتات أكثر وستكون التغييرات أكثر وضوحًا.
  • إذا قمت بتخزين ملف أصغر أو إذا كانت الصورة/الصوت الأساسي أكبر، سيتم تغيير بتات أقل وستكون التغييرات أقل وضوحًا.
  • إذا كان حجم الصورة/الصوت الأساسي صغيرًا جدًا لتخزين الملف، سيتوقف السكربت ويحذرك.
  • إذا اخترت تشفير الملف، سيزداد حجمه بنسبة ≈1/3.

7. كيف يعمل

الخيارات

الخيارالوصف
[0] EXITالخروج من السكربت
[1] Inject fileيستدعي inject_file_func()
[2] Extract fileيستدعي extract_file_func()

inject_file_func()

  1. إذا كان TEST_MODE == True، سيستخدم الصورة/الصوت الأساسي وملف الإدخال المعرّفين مسبقًا. وإلا، سيطلب الصورة/الصوت الأساسي وملف الإدخال.
  2. قراءة الملف (بالبايتات)
  3. قراءة الصورة/الصوت وتخزينه في مصفوفة numpy
  4. قراءة اسم الملف (بالبايتات)
  5. إذا أراد المستخدم تشفير الملف:
    1. الحصول على المفتاح باستخدام get_fernet()
    2. تشفير الملف واسم الملف
  6. محاولة حقن الملف واسم الملف في الصورة/الصوت باستخدام inject_file().
    1. إذا كانت الصورة/الصوت صغيرة جدًا لتخزين الملف، يتم رفع خطأ
    2. وإلا، يتم إرجاع الصورة/الصوت المعدّل.
  7. حفظ الصورة/الصوت المعدّل

extract_file_func()

  1. إذا كان TEST_MODE == True، سيستخدم الصورة/الصوت المعدّل المعرّف مسبقًا. وإلا، سيطلب الصورة/الصوت المعدّل.
  2. قراءة الصورة/الصوت المعدّل
  3. استخراج الملف واسم الملف كبايتات باستخدام extract_file()
  4. إذا تم تشفير الملف واسم الملف (يبدأان بـ gAAAAA)، فك تشفيرهما باستخدام decrypt_content
  5. فك ترميز اسم الملف إلى UTF-8
  6. حفظ الملف باسم الملف الذي تم فك ترميزه

get_fernet()

الخيارالوصف
[0] Existing keyاستخدام مفتاح موجود
[1] New keyإنشاء مفتاح جديد

[0] Existing key

  1. اختيار مفتاح للاستخدام من مجلد files/$encryption-keys

[1] New key

  1. اختيار اسم لملف المفتاح الجديد (أو تركه فارغًا للاسم الافتراضي (مثل key8.key))
  2. إنشاء مفتاح جديد وحفظه بالاسم المختار
  3. إرجاع كائن Fernet بالمفتاح الجديد

decrypt_content()

  1. لكل مفتاح في مجلد files/$encryption-keys:
    1. محاولة فك تشفير الملف واسم الملف به
    2. إذا تم رفع InvalidToken:
      1. هذا يعني أن المفتاح ليس المفتاح الصحيح
      2. المحاولة بمفتاح آخر
    3. وإلا، إرجاع المفتاح
  2. إذا لم يتم العثور على أي مفتاح، يتم رفع Exception

inject_file()

يرجع مصفوفة الصورة/الصوت المعدّلة (np.ndarray، بنفس شكل arr)

extract_file()

المعاملالنوعالوصف
mod_arr_flatnp.ndarrayالصورة/الصوت المعدّل المُسطّح

يرجع قاموسًا يحتوي على الملف واسم الملف المستخرجين، وكلاهما بصيغة (bytes)

تنزيل الأداة
الثابتالوصفالقيمة الافتراضية
MOD_PREFIXالبادئة التي ستحملها الصورة/الصوت المعدّل""
MOD_SUFFIXاللاحقة التي ستحملها الصورة/الصوت المعدّل"_mod"
STORE_RANDOMتخزين بيانات عشوائية في الصورة المعدّلة بحيث لا يكون الحد الفاصل بين الجزء الذي يحتوي البيانات المخزّنة والجزء الذي لا يحتويها واضحًا جدًاTrue
TEST_MODEتفعيل/تعطيل وضع الاختبار: الاختبار بصور/صوتيات وملفات معرّفة مسبقًاTrue
المعاملالنوعالوصف
arrnp.ndarrayالصورة/الصوت كمصفوفة numpy
filebytesالملف كبايتات
filenamebytesاسم الملف كبايتات
store_randombooleanما إذا كان سيتم تخزين بيانات عشوائية في الصورة/الصوت المعدّل أم لا