
तेज C++ ROP गैजेट फाइंडर जो PE/ELF/Mach-O बाइनरीज़ के लिए x86/x64/ARM/ARM64 आर्किटेक्चर पर काम करता है, जो कुशल रिटर्न-ओरिएंटेड प्रोग्रामिंग चेन निर्माण को सक्षम बनाता है।
rp++ या rp एक C++ ROP गैजेट खोजक है जो PE/ELF/Mach-O एक्जीक्यूटेबल और x86/x64/ARM/ARM64 आर्किटेक्चर के लिए है।
ROP गैजेट ढूँढने के लिए आपको --file / -f विकल्प के साथ एक फ़ाइल निर्दिष्ट करनी होगी और --rop / -r विकल्प का उपयोग करके गैजेट में निर्देशों की अधिकतम संख्या निर्दिष्ट करनी होगी:
आप --va विकल्प के साथ मॉड्यूल का बेस पता अनुकूलित कर सकते हैं (यदि आप बेस 0 देते हैं, तो आपको सापेक्ष ऑफसेट मिलते हैं) और आप रॉ कोड डंप का विश्लेषण करने के लिए --raw विकल्प का भी उपयोग कर सकते हैं।
अक्सर जब ROP चेन बनाते हैं, तो आपको विशिष्ट मानों वाले पूर्णांकों के पॉइंटर्स ढूँढने की आवश्यकता हो सकती है। उन्हें खोजने के लिए, आप नीचे दिए गए अनुसार --search-int विकल्प का उपयोग कर सकते हैं:
अन्य बार, आपको विशिष्ट स्ट्रिंग्स के पॉइंटर्स ढूँढने की आवश्यकता हो सकती है। उन्हें खोजने के लिए, आप नीचे दिए गए अनुसार --search-hexa विकल्प का उपयोग कर सकते हैं:
आप अपना स्वयं का बेस पता निर्दिष्ट करने के लिए --va विकल्प का भी उपयोग कर सकते हैं।
आप सभी समर्थित प्लेटफॉर्म के लिए src/build में शेल स्क्रिप्ट पा सकते हैं; नीचे Linux का उदाहरण है:
src/build$ chmod u+x ./build-release.sh && ./build-release.sh
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
[...]
[16/16] Linking CXX executable rp-lin-x64