
أداة سريعة بلغة C++ لاكتشاف قطع ROP لملفات PE/ELF/Mach-O عبر معماريات x86/x64/ARM/ARM64، مما يتيح بناء سلاسل البرمجة الموجهة بالعودة (ROP) بكفاءة.
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