Jeffrey Cross
Jeffrey Cross

क्रैश के बाद रैम से डेटा पुनर्प्राप्त करें

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

लिनक्स और पीपीसी मैक पर, रूट उपयोगकर्ता / dev / मेम डिवाइस के माध्यम से मशीन के रैम तक पहुंच सकता है। मुझे यकीन नहीं है कि नए इंटेल मैक पर यह अनुपलब्ध क्यों है - यह एक बेमर है।

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

dd if = / dev / mem of = / tmp / ramdumpstrings / tmp / ramdump | grep "आपकी फ़ाइल में कुछ पाठ"

मुझे डेविड कीच द्वारा एक पोस्ट मिली, जहां उन्होंने ठीक इसी प्रक्रिया का वर्णन किया है। वह इसका इस्तेमाल एक मारे गए vi सत्र से पाठ को सफलतापूर्वक ठीक करने में कर सकता था:

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

वह स्वैप विभाजन को स्कैन करने का भी उल्लेख करता है, जो आपके डेटा को खोजने के लिए एक संभावित स्थान भी है। यह एक ही प्रक्रिया है, लेकिन आप / dev / मेम को / dev / hda2 या आपके स्वैप विभाजन के साथ प्रतिस्थापित करते हैं।

यहाँ मज़ेदार हिस्सा है अब हम DRAM होल्डिंग डेटा के बारे में जो जानते हैं उसके आधार पर भी, कुछ सेकंड्स बिना काम के होने के बाद, आप सिस्टम डेटा को पूरी तरह से क्रैश और रीबूट करने के बाद प्रोग्राम को रिकवर करने के लिए भी इस्तेमाल कर सकते हैं। स्वैप डेटा निश्चित रूप से वहाँ होगा, लेकिन यदि आप एक्स या किसी भी बड़े एप्लिकेशन को शुरू किए बिना एकल उपयोगकर्ता मोड में रिबूट करते हैं, तो संभावना मौजूद है कि / देव / मेम के असंबद्ध क्षेत्रों में अभी भी रिबूट से पहले डेटा शामिल होगा।

क्रैश के बाद अपने डेटा को कैसे पुनर्प्राप्त करें - लिंक को एक ठंडी बूट के बाद एन्क्रिप्शन कुंजी को हटा दें - लिंक

शेयर

एक टिप्पणी छोड़