
ROP-एन्कोडेड शेलकोड्स को PEs में पैच करना
C (Win32) में लिखा गया एक उपकरण जो किसी भी शेलकोड को ROP में बदलता है और उसे दिए गए पोर्टेबल एक्जीक्यूटेबल (PE) में पैच करता है। यह केवल 32-बिट लक्ष्य PE और x86 निर्देश सेट को सपोर्ट करता है।
Blackhat USA 2015 में प्रकाशित, "ROPInjector: Using Return Oriented Programming for Polymorphism and Antivirus Evasion" अधिक जानकारी:
ropinjector <file-to-infect> <shellcode-file> <output-file>* [options]*
(* वैकल्पिक आर्गुमेंट दर्शाता है)
उदाहरण:
ropinjector.exe firefox.exe revshell.txt
file-to-infect : कोई 32-बिट, नॉन-पैक्ड PE
shellcode-file : PE फ़ाइल में पैच करने के लिए शेलकोड
output-file (वैकल्पिक) : आउटपुट फ़ाइल का नाम। यदि निर्दिष्ट नहीं है, ROPInjector एक उपयुक्त फ़ाइल नाम चुनेगा जो किए गए इंजेक्शन के प्रकार को इंगित करता है।
options :
text Force reading of shellcode file as text file. Shellcode in text
form must be in the \xHH\xHH\xHH format.
norop Don't transform shellcode to ROP.
nounroll Don't unroll SIBs.
noinj Don't inject missing gadgets.
getpc Don't replace getPC constructs in the shellcode.
entry Have shellcode run before the original PE code. Without this
option, ROPInjector will try to hook calls to ExitProcess(),
exit() and the like so that the shellcode runs last, right
before process exit.
-d<secs> Number of seconds to Sleep() before executing the shellcode.
When this option is specified, "entry" is also implicitly used.
ROPInjector अंत में कुछ कॉमा-डिलिमिटेड आँकड़े आउटपुट करेगा। ये (प्रकट होने के क्रम में) हैं: