डॉक्यूमेंट फ़ोरेंसिक

एक डॉक्यूमेंट फ़ोरेंसिक जाँच वह पढ़ती है जो फ़ाइल अपने दृश्यमान कंटेंट से परे साथ ले जाती है: मेटाडेटा किसे उसका लेखक बताता है, किस टूल ने उसे बनाया, उसके टाइमस्टैम्प कब बदले जाने का दावा करते हैं, कौन-से पुराने संशोधन, एम्बेडेड फ़ाइलें या अदृश्य टेक्स्ट अभी भी उसके अंदर हैं। नीचे एक PDF, PNG या JPEG डालें और यह पेज उन तथ्यों को स्थानीय रूप से, आपके ब्राउज़र में, रिपोर्ट करेगा, हर एक उस ठोस मान के साथ जिससे वह पढ़ा गया। शुरू में दो सीमाएँ: फ़ाइल कभी अपलोड नहीं होती — उसका विश्लेषण इसी डिवाइस पर होता है और कहीं और नहीं — और यह टूल निर्णय नहीं, तथ्य रिपोर्ट करता है: संरचनात्मक साक्ष्य यह साबित नहीं कर सकता कि फ़ाइल किसने बनाई, इसलिए यहाँ कोई स्कोर नहीं है और कोई लेखकत्व निर्णय नहीं है। साथी लेख, PDF मेटाडेटा और छिपा डेटा, बताता है कि हर तरह का डेटा कहाँ छिपता है और असली लीक कैसे हुए; PDF एक्सेसिबिलिटी चेकर PDF की पठन संरचना को कवर करता है, और बाइनरी इंस्पेक्टर एक्ज़ीक्यूटेबल फ़ाइलों को कवर करता है।

अंतिम अपडेट:

या फ़ाइल को इस बॉक्स में कहीं भी छोड़ें। फ़ाइल इसी डिवाइस पर पढ़ी जाती है और कभी अपलोड नहीं होती। सीमा: 20 MB।

निर्णय नहीं, तथ्य — जो यह पेज आपको नहीं बता सकता

मेटाडेटा साक्ष्य नहीं, गवाही है। एक लेखक फ़ील्ड बताता है कि किसी प्रोग्राम ने फ़ाइल में क्या लिखा, और इनमें से कोई भी मान संपादित किया जा सकता है, किसी दूसरे डॉक्यूमेंट से कॉपी किया जा सकता है या किसी टेम्पलेट से बचा रह सकता है — इसलिए मेटाडेटा में कोई जाना-पहचाना नाम यह साबित नहीं करता कि उस व्यक्ति ने यह फ़ाइल बनाई, और कोई अज्ञात टूल नाम कंटेंट के बनने के तरीके के बारे में कुछ साबित नहीं करता। विशेष रूप से, संरचनात्मक साक्ष्य लेखकत्व साबित नहीं कर सकता, और यह पेज इस बारे में कोई दावा नहीं करता कि कंटेंट किसी व्यक्ति ने बनाया या सॉफ़्टवेयर ने: यह मौजूद मानों, बचे हुए संशोधनों और एक-दूसरे से टकराने वाले टाइमस्टैम्प को रिपोर्ट करता है, और व्याख्या आपके लिए छोड़ देता है। हर निष्कर्ष को निष्कर्ष नहीं, सत्यापित करने योग्य सुराग़ मानें।

यह टूल क्या रिपोर्ट करता है

  • PDF जानकारी शब्दकोश फ़ील्ड — शीर्षक, लेखक, निर्माता, उत्पादक और दोनों तारीख़ें — साक्ष्य के रूप में शब्दशः उद्धृत।
  • XMP मेटाडेटा पैकेट, जब मौजूद हो, उसके शीर्षक, उत्पादक और निर्माण/संशोधन तारीख़ों के साथ निकाला गया।
  • वृद्धिशील अपडेट संरचना: फ़ाइल कितने %%EOF मार्कर और startxref सेक्शन साथ ले जाती है, और /Prev ट्रेलर शृंखला की गहराई।
  • एम्बेडेड फ़ाइलों के संकेत, रेंडरिंग मोड 3 से रंगा गया छिपा टेक्स्ट, और एन्क्रिप्शन फ़्लैग।
  • डीकोड किए गए टेक्स्ट चंक और tIME टाइमस्टैम्प के साथ PNG चंक सूची; JFIF, Exif और XMP फ़ील्ड व टिप्पणी टेक्स्ट के साथ JPEG सेगमेंट सूची — साथ ही दोनों फ़ॉर्मेट में अंत मार्कर के बाद के कोई भी बचे हुए बाइट।

एक डॉक्यूमेंट अपने कंटेंट के अलावा क्या साथ ले जाता है

यहाँ शामिल हर डॉक्यूमेंट फ़ॉर्मेट एक कंटेनर है, कंटेंट की सिर्फ़ तस्वीर नहीं। एक PDF एक जानकारी शब्दकोश साथ ले जाता है — शीर्षक, लेखक, निर्माता, उत्पादक और दो तारीख़ें — जिसे उसे निर्यात करने वाले एप्लिकेशन ने लिखा होता है, आमतौर पर डॉक्यूमेंट के लेखक ने उसे कभी देखे बिना। उसके साथ, अधिकांश आधुनिक उत्पादक एक XMP पैकेट एम्बेड करते हैं: एक XML मेटाडेटा ब्लॉक जो वही फ़ील्ड दोहरा सकता है, एक निर्माता टूल जोड़ सकता है, या जानकारी शब्दकोश से चुपचाप असहमत हो सकता है। PNG छवियाँ नामित चंक साथ ले जाती हैं, जिनमें से कुछ मुक्त टेक्स्ट रखते हैं — सॉफ़्टवेयर नाम, टिप्पणियाँ, कॉपीराइट पंक्तियाँ, कभी-कभी पूरे XML डॉक्यूमेंट — और JPEG तस्वीरें कैमरे द्वारा लिखे गए Exif ब्लॉक साथ ले जाती हैं: ब्रांड, मॉडल, शटर दबने की तारीख़, और वह सॉफ़्टवेयर जिसने फ़ाइल को आख़िरी बार छुआ। इनमें से कुछ भी डॉक्यूमेंट को सामान्य रूप से खोलने पर दिखाई नहीं देता, और यह सब फ़ाइल के साथ यात्रा करता है जब वह प्रकाशित होती है, ईमेल की जाती है या अदालत में दाख़िल होती है।

PDF की एक दूसरी, गहरी परत होती है: वृद्धिशील अपडेट। PDF फ़ॉर्मेट इस तरह बनाया गया था कि कोई संपादक फ़ाइल को फिर से लिखने के बजाय उसके अंत में एक नया संशोधन जोड़कर बदलाव सहेज सके, जिससे पुराने बाइट — किसी अनुच्छेद के पुराने संस्करण समेत — भौतिक रूप से मौजूद और पठनीय रह जाते हैं। कई %%EOF मार्कर वाली फ़ाइल इस तरह कई बार सहेजी गई होती है, और बाद के संशोधन में “हटाई गई” कोई भी चीज़ पहले वाले से अभी भी पुनः प्राप्त की जा सकती है। यह तंत्र वैध है और हस्ताक्षरों व तेज़ सहेजने के लिए उपयोगी है, लेकिन यही कारण है कि भोली रिडैक्शन विफल होती है: किसी अनुच्छेद को काले आयत से ढकना, या किसी ऐसे संपादक में टेक्स्ट हटाना जो फिर वृद्धिशील रूप से सहेजता है, मूल शब्दों को फ़ाइल में किसी भी देखने वाले के लिए छोड़ सकता है। यह पेज फ़ाइल-अंत मार्कर और ट्रेलर शृंखला गिनता है ताकि आप देख सकें कि आपके सामने वाली फ़ाइल का कोई अतीत है या नहीं।

यही कंटेनर तर्क बाकी जाँचों को समझाता है। एक PDF एम्बेडेड फ़ाइलें साथ ले जा सकता है — पूरे अटैचमेंट जो डॉक्यूमेंट के अंदर ही संग्रहीत होते हैं और उसकी एम्बेडेड-फ़ाइल नाम ट्री में सूचीबद्ध होते हैं — जिन्हें कोई पाठक शायद कभी न देखे लेकिन कोई प्राप्तकर्ता निकाल सकता है। यह छिपा टेक्स्ट भी साथ ले जा सकता है: PDF टेक्स्ट एक रेंडरिंग मोड से रंगा जाता है, और मोड 3 कुछ भी नहीं रंगता, जबकि अक्षरों को कंटेंट स्ट्रीम में छोड़ देता है — कॉपी और खोज योग्य, लेकिन पेज पर अदृश्य — उस टेक्स्ट के लिए एक क्लासिक जगह जो हटाया जाना चाहिए था, और कभी-कभी उस टेक्स्ट के लिए जो कभी दिखाया ही नहीं जाना चाहिए था। PNG और JPEG फ़ाइलों की इसी कहानी के अपने संस्करण हैं: अंत मार्कर के बाद जोड़े गए बाइट हर दर्शक द्वारा अनदेखा किए जाते हैं, फिर भी फ़ाइल में रहते हैं, और टेक्स्ट चंक व टिप्पणी सेगमेंट अक्सर उन्हें लिखने वाले संपादन सत्र से ज़्यादा जीवित रहते हैं।

टाइमस्टैम्प वह जगह है जहाँ डॉक्यूमेंट ख़ुद से टकराते हैं। एक PDF अपने जानकारी शब्दकोश में कम से कम दो तारीख़ें रखता है और अक्सर अपने XMP पैकेट में दो और, जो अलग-अलग टूल द्वारा अलग-अलग क्षणों में लिखी जाती हैं — निर्यातक, संपादक, वह ऑप्टिमाइज़र जिसने अपलोड पर उसे फिर से संपीड़ित किया। जब निर्माण तारीख़ संशोधन तारीख़ के बाद आती है, जब XMP तारीख़ें जानकारी शब्दकोश से असहमत होती हैं, या जब कोई तारीख़ भविष्य में पड़ती है, तो शृंखला में कहीं कुछ ने एक सुसंगत कहानी नहीं सुनाई: कोई घड़ी ग़लत थी, कोई फ़ील्ड संपादित किया गया था, या फ़ाइल अलग-अलग इतिहास वाले टुकड़ों से जोड़ी गई थी। इनमें से कोई भी व्याख्या स्वतः संदिग्ध नहीं है, और यह पेज उनमें से कोई चुनता नहीं है — यह दोनों मानों को साथ-साथ दिखाता है ताकि असंगति दफ़न होने के बजाय दिखाई दे। कैमरे की Exif तारीख़ और PNG के अंतिम-संशोधन चंक पर भी यही लागू होता है: एक टाइमस्टैम्प वह दावा है जो फ़ाइल करती है, और दावों की परस्पर जाँच ही इस टूल का सार है।

परिणामों का उपयोग प्रकाशित करने से पहले करें, किसी और के करने के बाद नहीं। आंतरिक रिपोर्ट, स्क्रीनशॉट और तस्वीरों को इस तरह की जाँच से गुज़ारें और पढ़ें कि उनके साथ क्या लीक होगा: लेखक नाम और उपयोगकर्ता नाम, आंतरिक टूल नाम, मूल तारीख़ें, वे अटैचमेंट जो आप भूल गए, वह संशोधन जो अभी भी उस अनुच्छेद को रखता है जिसे कानूनी विभाग ने हटाया था। सफ़ाई तब एक जानबूझकर किया गया कदम बन जाती है — मेटाडेटा हटाकर स्रोत से फिर निर्यात करना, वृद्धिशील सहेजने के बजाय फ़ाइल को पूरी तरह समतल करके फिर से लिखना — और उस प्रति की फिर से जाँच करना जिसे आप वास्तव में भेजते हैं। और पूरी प्रक्रिया में ईमानदारी की सीमा को नज़र में रखें: एक साफ़ परिणाम का मतलब है कि इस पेज द्वारा देखी जाने वाली जगहों पर कोई संरचनात्मक आश्चर्य नहीं मिला; यह किसी डॉक्यूमेंट के मूल को प्रमाणित नहीं करता, और एक आश्चर्यजनक परिणाम पूछा जाने वाला प्रश्न है, लगाया जाने वाला आरोप नहीं।

अक्सर पूछे जाने वाले प्रश्न

क्या मेरी फ़ाइल कहीं अपलोड होती है?

नहीं। फ़ाइल इसी पेज पर, आपके डिवाइस पर खोली और विश्लेषण की जाती है, और कुछ भी अपलोड, प्रेषित या संग्रहीत नहीं होता। किसी फ़ाइल का विश्लेषण कोई नेटवर्क अनुरोध नहीं करता, इसलिए पेज लोड होने के बाद ऑफ़लाइन काम करता है — जो मायने रखता है, क्योंकि जिन डॉक्यूमेंट की जाँच सबसे ज़्यादा सार्थक है, वे ठीक वही हैं जिन्हें आपको किसी अजनबी के सर्वर पर नहीं भेजना चाहिए।

क्या यह टूल बता सकता है कि फ़ाइल किसने बनाई, या वह AI द्वारा बनाई गई थी?

नहीं — और जो भी टूल इसके विपरीत दावा करे, उससे सावधान रहें। मेटाडेटा फ़ील्ड वह टेक्स्ट है जो किसी प्रोग्राम ने फ़ाइल में लिखा; वे संपादित किए जा सकते हैं, किसी टेम्पलेट से विरासत में मिल सकते हैं या किसी दूसरे डॉक्यूमेंट से कॉपी किए जा सकते हैं, इसलिए वे साक्ष्य नहीं, गवाही हैं। संरचनात्मक साक्ष्य लेखकत्व स्थापित नहीं कर सकता। यह पेज मौजूद मानों और उन जगहों को रिपोर्ट करता है जहाँ फ़ाइल ख़ुद से टकराती है, और लेखकत्व के प्रश्नों को उस साक्ष्य के लिए छोड़ देता है जो वास्तव में उनका उत्तर दे सके।

वृद्धिशील अपडेट क्या है, और यह क्यों मायने रखता है?

PDF संपादक फ़ाइल को फिर से लिखने के बजाय एक नया संशोधन जोड़कर बदलाव सहेज सकते हैं। हर सहेजना एक %%EOF मार्कर छोड़ता है, इसलिए कई मार्कर का मतलब है कई जुड़े हुए संशोधन — और पुराने संशोधन बाइट में पठनीय रहते हैं, उस कंटेंट समेत जिसे बाद वाले हटाते प्रतीत होते हैं। यही कारण है कि टेक्स्ट को आयत से ढकना या वृद्धिशील सहेजने में उसे हटाना उसे फ़ाइल से बाहर नहीं करता। पूरी तरह फिर से लिखना या फिर से निर्यात करना ही पुराने बाइट को वास्तव में त्यागता है।

मुझे एक PDF में छिपा टेक्स्ट मिला। क्या इसका मतलब है कि किसी ने धोखा किया?

अपने आप में नहीं। रेंडरिंग मोड 3 से रंगा गया टेक्स्ट अदृश्य होता है लेकिन मौजूद होता है, और इसके वैध कारण हैं: OCR परतें स्कैन किए गए पेज छवियों के पीछे बैठती हैं ताकि पेज को खोजा और कॉपी किया जा सके, और कुछ उत्पादक अनुक्रमण के लिए अदृश्य टेक्स्ट निकालते हैं। यह तब समस्या बनता है जब अदृश्य टेक्स्ट को ग़ायब हो जाना चाहिए था — एक रिडैक्ट किया गया नाम जो अभी भी कॉपी योग्य है, वह लीक है, चाहे इरादा कुछ भी रहा हो। निष्कर्ष को निर्णय नहीं, “यहाँ देखें” के रूप में पढ़ें।

प्रकाशित करने से पहले मैं यह मेटाडेटा कैसे हटाऊँ?

जहाँ संभव हो वहाँ स्रोत पर काम करें: लेखन टूल में डॉक्यूमेंट गुण साफ़ करें, मेटाडेटा विकल्प बंद करके निर्यात करें, और PDF के लिए वृद्धिशील सहेजने के बजाय पूरी तरह फिर से लिखने — PDF में प्रिंट करना या एक समर्पित क्लीनर — को प्राथमिकता दें। छवियों के लिए, उन्हें यथास्थान संपादित करने के बजाय किसी ऐसे टूल से फिर से निर्यात करें जो Exif और टेक्स्ट चंक हटाता हो। फिर साफ़ की गई प्रति को इस पेज से फिर गुज़ारें और पुष्टि करें कि जिन निष्कर्षों की आपको चिंता थी वे वास्तव में ग़ायब हो गए हैं।