2015-04-14 5 views
16

मैं How to Hide Files in JPEG Pictures समझाते हुए एक लेख पढ़ रहा था।जेपीईजी फ़ाइल में फ़ाइलों को छिपाने से कैसे काम करता है

मुझे आश्चर्य है कि किसी फ़ाइल के लिए जेपीईजी डेटा और एक रार फ़ाइल दोनों को छवि या संपीड़ित फ़ाइल में किसी भी विरूपण विकृति के बिना कैसे संभव है।

मेरा अनुमान है कि यह बाध्यकारी रूप में संपीड़ित फ़ाइल या जेपीईजी फ़ाइल का प्रतिनिधित्व करने के तरीके के साथ कुछ करने के लिए है, लेकिन मुझे नहीं पता कि यह कैसे काम करता है।

क्या कोई उस पर विस्तार कर सकता है?

उत्तर

10

जो कुछ भी कर रहा है वह जेपीईजी स्ट्रीम के अंत में संग्रह जोड़ रहा है। फिर आप उम्मीद करते हैं कि आपका जेपीईजी डिकोडर ईओआई मार्कर के पीछे नहीं पढ़ेगा, वहां डेटा ढूंढेंगे, और कुछ गलत कहेंगे।

एक जेपीईजी छवि एसओआई मार्कर से शुरू होने वाली बाइट्स की एक धारा है और ईओआई मार्कर के साथ समाप्त होती है।

ज़िप और आरएआर बाइट की धाराएं हैं। एक ज़िप धारा 50 4 बी के साथ शुरू होती है। एक RAR धारा 52 61 72 21 1 ए 07.

विधि लिंक में वर्णित ऊपर (एकाधिक) एक JPEG धारा के एक द्विआधारी प्रतिलिपि लेता है और यह करने के लिए एक ज़िप या RAR धारा जोड़ देती है के साथ शुरू होता है।

आरएआर/ज़िप डिकोडर्स स्ट्रीम को तब तक स्कैन करते हैं जब तक उन्हें आरएआर या ज़िप (जेपीईजी स्ट्रीम को अनदेखा करने) के लिए हस्ताक्षर नहीं मिलता है।

+0

और कैसे आर्चीव प्रोग्राम आर्फीव प्राप्त करने के लिए जेपीईजी डेटा छोड़ें। यह कैसे पता चलता है कि जेपीईजी समाप्त होता है और डेटा संग्रह कैसे शुरू होता है? – yasar

+0

इसे डेटा स्ट्रीम में अपने हस्ताक्षर की तलाश करनी चाहिए। संभवतः यह चाल अधिकांश बाइनरी फ़ाइल प्रकारों के साथ काम करेगी। तो शायद यह जेपीईजी स्कैन नहीं कर रहा है और ईओआई मार्कर की तलाश में है। – user3344003

3

इस उत्तर लिंक आप दे दी है में सही मामले का समाधान नहीं करता है, लेकिन यह डाटा छुपाने का एक और तरीका प्रदान करता है:

यह भी जेपीईजी चित्र के भीतर ही एक फ़ाइल को छिपाने के लिए सैद्धांतिक रूप से संभव होगा, लेकिन क्या तुम करोगी एन्कोडेड डेटा लिखने के लिए एक जटिल प्रोग्राम की आवश्यकता है और फिर इसे फिर से पढ़ें।

असल में, एक जेपीईजी तस्वीर में बहुत सारी जानकारी होती है, यदि यह बदल जाती है, तो मानव आंखों के लिए ध्यान देने योग्य नहीं होगा। कल्पना कीजिए कि आपके पास नीली शर्ट में एक व्यक्ति की तस्वीर है। यदि आप उस शर्ट पर ज़ूम इन करते हैं तो आप देखेंगे कि यह एक नीला रंग भी नहीं है, लेकिन रंग के बेड़े की भीड़ से बना है, जिनमें से अधिकांश एक नीला स्वर है (लेकिन कुछ अन्य रंग भी हो सकते हैं)। आप आसानी से उन बेड़े में से कुछ को थोड़ा अलग स्वर में बदल सकते हैं और इससे तस्वीर में कोई स्पष्ट दृश्य अंतर नहीं आएगा।

एक चालाक प्रोग्राम डेटा का प्रतिनिधित्व करने वाले पैटर्न में घटते हुए पिक्सेल को बदलकर तस्वीर में एक कोड एम्बेड कर सकता है। एक बहुत ही सरल उदाहरण: यदि "ह्यू" (यानी रंग टोन) को 0 और 255 के बीच एक संख्या द्वारा दर्शाया गया है, तो एक रंग के पिक्सल भी "0" बिट और अजीब रंग के पिक्सल को "1" बिट का प्रतिनिधित्व कर सकते हैं। तस्वीर में इस तरह के अंतर का पता लगाने के लिए मानव आंखों के लिए मुश्किल होगी।

यह एक पुराने विचार है और इस लेख की चर्चा कितना डेटा इस तरह से छिपा हो सकता है: High capacity data hiding in JPEG-compressed images (2004)

0

वहाँ एक सरल एल्गोरिथ्म है कि मैं यह matlab के साथ लागू किया है। यदि आप अपनी छवि को 8 बिट पर विभाजित करते हैं। सबसे महत्वपूर्ण बिट में सबसे मूल्यवान जानकारी है और आप मूल छवि पर किसी भी बदलाव के बिना बिट 0 और बिट 1 को हटा सकते हैं। इसलिए आप अपनी फ़ाइल को 0 और 1 के बजाय डाल सकते हैं। मैंने इस एल्गोरिदम को anil.k.jain पुस्तक में देखा है।

1

सामान्य रूप से, किसी अन्य फ़ाइल के भीतर फ़ाइल छिपाने का अभ्यास Steganography के रूप में जाना जाता है। आपके द्वारा प्रदान किए गए लिंक में वर्णित विधि .rar.jpg के अंत में + ऑपरेटर का उपयोग करके, प्रत्येक फ़ाइल प्रकार के विभिन्न शीर्षकों का लाभ उठाकर बस समेकित करती है।@ user3344003 यह बताते हुए एक उत्कृष्ट काम करता है कि यह his/her answer में क्यों काम करता है। यह छवि को विकृत नहीं करता है क्योंकि छवि डेटा को अनचाहे छोड़ दिया जाता है।

छवि के भीतर एक फ़ाइल छिपाने का एक और आम तरीका प्रत्येक बाइट के कम महत्वपूर्ण बिट (एलएसबी) का उपयोग करना है। जिस तरह से यह किया जाता है, वह छवि के बिटस्ट्रीम में प्रत्येक 8 वें बिट को उस फ़ाइल के अगले भाग के साथ प्रतिस्थापित करना है जिसे आप छिपाना चाहते हैं। यह काम करता है क्योंकि छवि के रंगों को मानव आंखों द्वारा आसानी से महसूस किए बिना थोड़ा विकृत किया जा सकता है। इस दृष्टिकोण में, डिस्क पर छवि का आकार बढ़ेगा क्योंकि यह आपके लिंक से विधि में होगा। इससे छिपी हुई फाइल का सबूत पता लगाना मुश्किल हो जाता है। इस और अन्य स्टेग्नोग्राफिक विधियों पर विस्तृत रूप से देखने के लिए, this paper by Bret Dunbar देखें।

संबंधित मुद्दे