जो मुझे पहले से पता है:
एक ELF निष्पादन योग्य में कई खंड होते हैं, स्पष्ट रूप से .text और .data खंड स्मृति में लोड हो जाते हैं क्योंकि ये कार्यक्रम के मुख्य भाग हैं। लेकिन काम करने के लिए एक कार्यक्रम के लिए, इसे और अधिक जानकारी की आवश्यकता है, खासकर जब गतिशील रूप से जुड़ा हुआ है।
मुझे जो दिलचस्पी है, वे .plt, .got, .dynamic, .dynsym, .dynstr वगैरह जैसे खंड हैं। ईएलएफ के वे हिस्से जो क्रियाओं को पते से जोड़ने के लिए जिम्मेदार हैं।
जो मैंने अब तक पता लगाने में सक्षम किया है, वह यह है कि .symtab और .strtab जैसी चीजें मेमोरी में लोड नहीं होती हैं (या नहीं रहती हैं)। लेकिन .dynsym और .dynstr लिंकर द्वारा उपयोग किए जाते हैं? क्या वे स्मृति में रहते हैं? क्या मैं उन्हें प्रोग्राम कोड से एक्सेस कर सकता हूं?
और क्या किसी निष्पादन योग्य का कोई भाग कर्नेल मेमोरी में रहता है?
इसमें मेरी रुचि ज्यादातर फोरेंसिक है, लेकिन इस विषय पर कोई भी जानकारी मदद करेगी। इन तालिकाओं और डायनेमिक लिंकिंग के बारे में मैंने जो संसाधन पढ़े हैं, वे उच्च स्तर के हैं, वे केवल कामकाज की व्याख्या करते हैं, स्मृति में सामग्री के बारे में व्यावहारिक कुछ भी नहीं।
मेरे प्रश्न के बारे में अस्पष्ट कुछ भी बताएं।