هل ستجعل البيانات العشوائية الملحقة بملف JPG غير قابلة للاستخدام؟

StackOverflow https://stackoverflow.com/questions/50965

  •  09-06-2019
  •  | 
  •  

سؤال

لذا، لتبسيط حياتي، أريد أن أكون قادرًا على إلحاق من 1 إلى 7 أحرف إضافية في نهاية بعض صور jpg التي يعالجها برنامجي*.هذه عبارة عن حشوة وهمية (حشوات، وما إلى ذلك - ربما كلها 0x00) فقط لجعل حجم الملف مضاعفًا لـ 8 بايت لتشفير الكتلة.

بعد تجربة ذلك مع عدد قليل من البرامج، يبدو أنها جيدة مع الأحرف الإضافية، التي تظهر بعد FF D9 الذي يحدد نهاية الصورة - لذلك يبدو أن تنسيق الملف محدد جيدًا بدرجة كافية بحيث لا يهم "الفساد" الذي أقوم بإضافته في النهاية.

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

أنا أحسب مع كل الحديث إخفاء المعلومات منذ سنوات مضت، كان لدى شخص ما بعض المدخلات هنا ...

(معالجة التشفير بواسطة كتل 8 بايت، لا أريد حفظ حجم الملف المشفر مسبقًا، لذا قم بإلحاق 0x00 بإدخال البيانات، واتركها هناك بعد فك التشفير)

هل كانت مفيدة؟

المحلول

لا، يمكنك إضافة وحدات بت إلى نهاية ملف jpg، دون جعله غير قابل للاستخدام.يوضح عنوان ملف jpg كيفية قراءته، وبالتالي فإن البرنامج الذي يقرأه سيتوقف عند نهاية بيانات jpg.

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

نصائح أخرى

أنت تستطيع ..ولكن النتائج يمكن تكون غير متوقعة.

على الرغم من وجود معلومات كافية في التنسيق لإخبار العميل بتجاهل البيانات الإضافية، فمن المحتمل ألا تكون هذه هي الحالة التي اختبرها المبرمج.

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

يمكنك تضمين بياناتك في علامة XMP داخل ملف JPEG (أو حقول EXIF ​​أو IPTC لهذه المسألة).XMP هو XML، لذلك لديك قدر لا بأس به من المرونة لتتمكن من امتلاك أشياء مخصصة.

ربما لا أبسط شيء ممكن لكن وضع بياناتك هنا سيحافظ على سلامة ملف JPEG ولن يتطلب أي "معالجة لاحقة".

ستظهر بياناتك بعد ذلك في برامج التصوير الأخرى مثل PhotoShop، والتي قد لا تكون مثالية.

وكما ذكر آخرون، لا يمكنك التحكم في كيفية معالجة البرامج لملفات الصور، وبالتالي قد تجد بعض البرامج الصور صالحة وقد لا تجدها برامج أخرى.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top