
أداة إخفاء معلومات (Steganography) تخفي وتستخرج البيانات السرية في ملفات JPEG وBMP وWAV وAU مع خيارات إضافية للضغط والتشفير ومجاميع التحقق من السلامة.
تم إنشاء منظمة GitHub، StegHigh لصيانة steghide. يُرجى تقديم جميع طلبات السحب (PRs) والمناقشات والمشكلات هناك.
بالإضافة إلى ذلك، يبحث StegHigh/steghide عن مُشرفين. يُرجى المساهمة!
Steghide هو برنامج إخفاء معلومات (steganography) قادر على إخفاء البيانات في أنواع مختلفة من ملفات الصور والصوت. لا تتغير ترددات الألوان أو ترددات العينات، مما يجعل التضمين مقاومًا للاختبارات الإحصائية من الدرجة الأولى.
الإصدار الحالي من steghide هو 0.5.1
الميزات: *) ضغط البيانات المضمنة *) تشفير البيانات المضمنة *) تضمين مجموع اختباري (checksum) للتحقق من سلامة البيانات المستخرجة *) دعم لملفات JPEG وBMP وWAV وAU
إخفاء المعلومات يعني حرفيًا الكتابة المغطاة. هدفه هو إخفاء حقيقة أن الاتصال يحدث. غالبًا ما يُحقَّق ذلك باستخدام ملف غلاف (cover file) كبير نسبيًا وتضمين الرسالة السرية القصيرة نسبيًا داخل هذا الملف. النتيجة هي ملف يبدو غير ضار (ملف الاستغناء stego file) يحتوي على الرسالة السرية.
يجب أن تكون لديك المكتبات التالية مثبتة لاستخدام steghide.
libmhash مكتبة توفر خوارزميات تجزئة متنوعة وخوارزميات توليد مفاتيح تشفير. يحتاج steghide إلى هذه المكتبة لتحويل عبارة المرور (passphrase) إلى صيغة يمكن استخدامها كمدخل لخوارزميات التشفير وإخفاء المعلومات. متاحة على: http://mhash.sourceforge.net/
libmcrypt
مكتبة توفر العديد من خوارزميات التشفير المتماثل. إذا قمت بتجميع steghide بدون libmcrypt، فلن تتمكن من استخدام steghide لتشفير البيانات قبل التضمين أو لاستخراج البيانات المشفرة (حتى إذا كنت تعرف عبارة المرور الصحيحة).
متاحة على: http://mcrypt.sourceforge.net/
libjpeg مكتبة تنفذ ضغط صور jpeg. بدون هذه المكتبة، لن تتمكن من تضمين البيانات في ملفات jpeg أو استخراج البيانات من ملفات jpeg. متاحة على: http://www.ijg.org/
zlib مكتبة ضغط بيانات بدون فقدان. إذا قمت بتجميع steghide بدون تثبيت هذه المكتبة، فلن تتمكن من استخدام steghide لضغط البيانات قبل التضمين أو لاستخراج البيانات المضغوطة من ملف الاستغناء (stego-file). متاحة على: http://www.gzip.org/zlib/
مكتبة Libmhash مطلوبة تمامًا لتجميع steghide. بينما يمكنك تجميعه بدون المكتبات الأخرى، إلا أنها موصى بها بشدة لأن الوظائف الرئيسية لن تكون متاحة بدونها.
بعد فك ضغط التوزيعة المصدرية، أدخل الأوامر التالية:
لمزيد من المعلومات، راجع تعليمات التثبيت العامة في ملف INSTALL المرفق مع التوزيعة.
إذا فشل أي من هذه الأوامر، يرجى إرسال بريد إلكتروني إلى القائمة البريدية لتطوير steghide ([email protected]) يصف الخطأ.
أسهل طريقة هي تنزيل الثنائي المجمّع مسبقًا (بما في ذلك إصدارات ويندوز من المكتبات الضرورية) من موقع steghide على: http://steghide.sourceforge.net/index.php
إذا كنت ترغب في تجميع المصادر بنفسك، فستحتاج إلى مترجم C++. تعتمد طريقة تجميع الكود المصدري على المترجم الذي تستخدمه: يرجى الرجوع إلى وثائق المترجم الخاص بك.
يمكن تجميع Steghide باستخدام gcc في بيئة cygwin (http://www.cygwin.com/) وهي طبقة محاكاة يونكس لنظام ويندوز باستخدام الإجراء المذكور أعلاه لتجميع لينكس/يونكس.
فيما يلي بعض الأمثلة على كيفية استخدام steghide. ألقِ نظرة عليها للحصول على انطباع أولي. إذا كنت تريد معلومات أكثر تفصيلاً، يرجى قراءة صفحة الدليل (manpage).
الاستخدام الأساسي هو كما يلي:
$ steghide embed -cf picture.jpg -ef secret.txt Enter passphrase: Re-Enter passphrase: embedding "secret.txt" in "picture.jpg"... done
سيقوم هذا الأمر بتضمين الملف secret.txt في ملف الغلاف picture.jpg.
بعد تضمين بياناتك السرية كما هو موضح أعلاه، يمكنك إرسال الملف picture.jpg إلى الشخص الذي يجب أن يستلم الرسالة السرية. يجب على المستلم استخدام steghide بالطريقة التالية:
$ steghide extract -sf picture.jpg Enter passphrase: wrote extracted data to "secret.txt".
إذا كانت عبارة المرور المقدمة صحيحة، سيتم استخراج محتويات الملف الأصلي secret.txt من ملف الاستغناء picture.jpg وحفظها في الدليل الحالي.
إذا استلمت ملفًا يحتوي على بيانات مضمنة وتريد الحصول على بعض المعلومات عنه قبل استخراجها، استخدم الأمر info:
$ steghide info received_file.wav "received_file.wav": format: wave audio, PCM encoding capacity: 3.5 KB Try to get information about embedded data ? (y/n) y Enter passphrase: embedded file "secret.txt": size: 1.6 KB encrypted: rijndael-128, cbc compressed: yes
بعد طباعة بعض المعلومات العامة حول ملف الاستغناء (الصيغة، السعة)، سيُطلب منك ما إذا كان يجب على steghide محاولة الحصول على معلومات حول البيانات المضمنة. إذا أجبت بنعم، يجب عليك تقديم عبارة مرور. سيحاول steghide بعد ذلك استخراج البيانات المضمنة باستخدام عبارة المرور تلك، وإذا نجح، فسيطبع بعض المعلومات عنها.
يمكنك الحصول على أحدث إصدار من steghide بالإضافة إلى بعض المعلومات والوثائق الإضافية من موقع steghide على: http://steghide.sourceforge.net/
إذا وجدت خطأً أو كانت لديك أسئلة أو تعليقات أو اقتراحات، إلخ. يرجى إرسال بريد إلكتروني إلى القائمة البريدية للتطوير: [email protected] لاستلام الرسائل المرسلة إلى هذه القائمة، اشترك فيها على: http://lists.sourceforge.net/lists/listinfo/steghide-devel
إذا كنت تريد أن يتم إعلامك عند إصدار نسخة جديدة من steghide، يرجى الاشتراك في القائمة البريدية لإعلانات steghide على: http://lists.sourceforge.net/lists/listinfo/steghide-announce
يمكنك الوصول إلى أحدث كود مصدري للتطوير عبر cvs مجهول. فقط اكتب الأسطر التالية:
$ cvs -d:pserver:[email protected]:/cvsroot/steghide login CVS password: [ Hit RETURN here ]
$ cvs -z3 -d:pserver:[email protected]:/cvsroot/steghide co steghide
يمكنك أيضًا تصفح مستودع cvs على الويب: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/steghide/
يمكنك الاتصال بي (Stefan Hetzl) عبر البريد الإلكتروني: [email protected]