
एक लाइब्रेरी जो Linux सिस्टम पर चल रही प्रक्रिया की मेमोरी और कोड के निरीक्षण और हेरफेर की अनुमति देती है।
raminspect एक crate है जो Linux सिस्टम पर चल रही किसी प्रक्रिया की मेमोरी और कोड के निरीक्षण और हेरफेर की अनुमति देता है। यह किसी प्रक्रिया की मेमोरी में खोज शब्दों को खोजने और बदलने के लिए फ़ंक्शन, प्रक्रिया से संबंधित नई मेमोरी आवंटित करने के लिए फ़ंक्शन, और एक इंटरफ़ेस प्रदान करता है जो प्रक्रिया के संदर्भ में चल रहे मनमाने shellcode के इंजेक्शन की अनुमति देता है। स्पष्ट कारणों से, इन सभी के लिए root विशेषाधिकारों की आवश्यकता होती है।
demo
यदि आपके पास Firefox इंस्टॉल है तो आप firefox_search उदाहरण चला पाएंगे। ऐसा करने के लिए, Firefox का एक इंस्टेंस खोलकर शुरू करें और सर्च बार में "Old search text" टाइप करें। यदि सब ठीक रहा, तो जब आप sudo cargo run --example firefox_search --release कमांड का उपयोग करके उदाहरण को root के रूप में चलाएंगे, तो इसे "New search text" से बदल दिया जाना चाहिए, हालांकि नया टेक्स्ट रेंडर होने के लिए आपको संभवतः सर्च बार पर फिर से क्लिक करना पड़ेगा।
खोज और बदलने की कार्यक्षमता kernel मॉड्यूल के साथ या उसके बिना उपलब्ध है, लेकिन यदि आप shellcode इंजेक्ट करना चाहते हैं या नए बफ़र आवंटित करना चाहते हैं तो आपको पहले पूर्वापेक्षा वाला kernel मॉड्यूल बनाना और लोड करना होगा। आप अपने distro का kernel headers पैकेज इंस्टॉल करके, git clone करके और फिर रिपॉज़िटरी के kern_module सबफ़ोल्डर में निम्नलिखित कमांड चलाकर ऐसा कर सकते हैं (यदि किसी कारण से बिल्ड विफल हो जाए तो कृपया एक issue दर्ज करें):
make all
sudo insmod raminspect.ko
यह भी ध्यान दें कि shellcode इंजेक्शन वाला भाग वर्तमान में किसी भी आर्किटेक्चर पर काम करने के लिए डिज़ाइन किया गया है (भले ही वास्तविक shellcode स्वयं प्लेटफ़ॉर्म-विशिष्ट होना चाहिए), लेकिन मनमाने मेमोरी आवंटन वाला भाग वर्तमान में x86-64 तक सीमित है। अधिक CPU आर्किटेक्चर पर मनमाने आवंटन के लिए समर्थन जोड़ने वाले PRs का स्वागत है।
यह प्रोजेक्ट अभी स्थिर स्थिति में नहीं है; ब्रेकिंग परिवर्तनों और बग्स की अपेक्षा करें। यदि आपको crate में कोई बग मिलता है या यदि कोई भी उदाहरण आपकी मशीन पर काम नहीं करता है, तो कृपया रिपॉज़िटरी में एक issue बनाएं ताकि इसे शीघ्रता से ठीक किया जा सके।