क्या रैम मेमोरी की सामग्री को देखने का कोई तरीका है? पहले बाइट से लेकर आखिरी तक। मैं देखना चाहता हूं कि रैम में ओएस और उस पर चलने वाली सभी प्रक्रियाएं कहां स्थित हैं। क्या यह संभव है?
क्या रैम मेमोरी की सामग्री को देखने का कोई तरीका है? पहले बाइट से लेकर आखिरी तक। मैं देखना चाहता हूं कि रैम में ओएस और उस पर चलने वाली सभी प्रक्रियाएं कहां स्थित हैं। क्या यह संभव है?
जवाबों:
आप एक कर्नेल डिबगर का उपयोग कर सकते हैं, जो विंडोज के लिए सॉफ्टीस की तरह "रॉ" मेमोरी एक्सेस की अनुमति देगा । आप लिनक्स कर्नेल के लिए डिबगर के रूप में कार्य करने के लिए GDB को कॉन्फ़िगर कर सकते हैं । यदि वर्चुअल मशीन एक विकल्प है, तो कुछ वर्चुअलाइजेशन सॉफ़्टवेयर मशीन की स्थिति (रैम सहित) को डिस्क में सहेजने का समर्थन करता है, जिसे बाद में और अधिक विश्लेषण किया जा सकता है । हालांकि, यह ध्यान दिया जाना चाहिए कि अधिकांश "आधुनिक" ऑपरेटिंग सिस्टम एड्रेस स्पेस लेआउट रैंडमाइजेशन (एएसएलआर) का उपयोग करते हैं। विभिन्न सुरक्षा मुद्दों और कारनामों (यानी स्टैक / हीप बफर ओवरफ्लो) को कम करने में मदद करने के लिए सिस्टम का वास्तविक भौतिक मेमोरी मैप जानबूझकर खंडित है ।
किसी दिए गए प्रोग्राम के लिए एक आधुनिक ऑपरेटिंग सिस्टम में चल रहा है, हालाँकि, आप किसी दिए गए प्रोसेस / थ्रेड के लिए लॉजिकल मेमोरी मैप प्राप्त कर सकते हैं - जब तक आपके पास उपयुक्त डीबगिंग सिंबल और डीबगर हो। यदि आप समग्र दृष्टिकोण चाहते हैं, यदि सॉफ़्टवेयर / हार्डवेयर वर्चुअल मेमोरी का उपयोग करते हैं, तो स्थिति अत्यधिक जटिल हो जाती है। फिर, हालांकि, अगर आप सचमुच चाहते हैं क्या सिर्फ रैम पर, पहले पैराग्राफ में देखते हैं।
विंडोज पर, भौतिक मेमोरी की सामग्री \Device\PhysicalMemory
को ऑब्जेक्ट मैनेजर में ऑब्जेक्ट के माध्यम से एक्सेस किया जा सकता है । इसके लिए सिस्टम में कर्नेल-लेवल एक्सेस की आवश्यकता होती है, जिसका अर्थ है कि आपको इस ऑब्जेक्ट को एक्सेस करने के लिए एक प्रोग्राम स्थापित करना होगा, जो कि संभवतः कर्नेल-मोड ड्राइवर है।
लिनक्स पर, भौतिक मेमोरी की सामग्री को सीधे बाइनरी डेटा के /dev/mem
रूप में पढ़ा जा सकता है root
। देखें / देव / मेम क्या है? और mem(4)
अधिक जानकारी के लिए मैन पेज।
मुझे यकीन नहीं है कि आपको यह निर्धारित करने की आवश्यकता है कि ऑपरेटिंग सिस्टम और प्रक्रियाएं भौतिक मेमोरी में स्थित हैं, हालांकि ...
\DevicePhysicalMemory
ऑब्जेक्ट को उपयोगकर्ता मोड से नहीं खोला जा सकता है। RAMmap और अधिकांश अन्य sysinternals टूल में उनके कार्य के उस भाग को करने के लिए कर्नेल मोड ड्राइवर शामिल होता है।