
विभिन्न फ़ाइल स्वरूपों में फ़ाइलों के बारे में जानकारी प्रदर्शित करें और विभिन्न आर्किटेक्चर (x86/x86_64, ARM/ARM64, MIPS, PowerPC, SPARC64) के लिए rop चेन बनाने हेतु गैजेट खोजें। डिसअसेंबली के लिए ropper शानदार Capstone Framework का उपयोग करता है।
आप ropper का उपयोग विभिन्न फ़ाइल प्रारूपों में बाइनरी फ़ाइलों के बारे में जानकारी प्रदर्शित करने के लिए कर सकते हैं और आप विभिन्न आर्किटेक्चर (x86/X86_64, ARM/ARM64, MIPS/MIPS64, PowerPC/PowerPC64, SPARC64) के लिए रॉप चेन बनाने के लिए गैजेट्स खोज सकते हैं। डिसअसेंबली के लिए ropper अद्भुत Capstone Framework का उपयोग करता है।
Capstone को PyPi के साथ स्थापित करें:
$ sudo pip install capstone
filebytes को PyPi के साथ स्थापित करें:
$ sudo pip install filebytes
वैकल्पिक (ropper चलाने के लिए आवश्यक नहीं, केवल गैजेट खोजने के लिए):
Keystone स्थापित करें:
$ sudo pip install keystone-engine
Ropper स्थापित करें और चलाएँ:
$ python setup.py install
$ ropper
आप pip के साथ भी Ropper स्थापित कर सकते हैं:
$ pip install ropper
यदि आप चाहें, तो आप Ropper का उपयोग बिना स्थापना के कर सकते हैं:
$ ./Ropper.py
यदि आप filebytes स्थापित नहीं करना चाहते हैं, तो filebytes ropper रिपॉजिटरी का एक सबमॉड्यूल है। इसका मतलब है कि आपको filebytes और ropper स्थापित करने की आवश्यकता नहीं है।
$ git clone https://github.com/sashs/ropper.git
$ cd ropper
$ git submodule init
$ git submodule update
$ ./Ropper.py
यह सुविधा अभी भी विकासाधीन है! Ropper में एक सिमैंटिक सर्च कमांड है, जो गैजेट्स खोजने की संभावना प्रदान करता है।
$ ropper --file <afile> --semantic "<any constraint>"
सिमैंटिक सर्च का उपयोग करने के लिए निम्नलिखित वैकल्पिक निर्भरताएँ आवश्यक हैं:
pyvex स्थापित करें:
$ sudo pip install pyvex
z3py स्थापित करें:
$ python scripts/mk_make.py
$ cd build
$ make
$ sudo make install
reg == reg - रजिस्टर को दूसरे में असाइन करें
reg == number - रजिस्टर में संख्या असाइन करें
reg == [reg] - रजिस्टर में मेमोरी असाइन करें
reg += number/reg/[reg]
reg -= number/reg/[reg]
reg *= number/reg/[reg]
reg /= number/reg/[reg]
eax==1 !ebx - eax को 1 पर सेट करें और ऐसे गैजेट खोजें जो ebx को खराब न करें

usage: Ropper.py [-h] [--help-examples] [-v] [--console]
[-f <file> [<file> ...]] [-r] [-a <arch>]
[--section <section>] [--string [<string>]] [--hex]
[--asm [<asm> [H|S|R] ...]] [--disasm <opcode>]
[--disassemble-address <address:length>] [-i] [-e]
[--imagebase] [-c] [-s] [-S] [--imports] [--symbols]
[--set <option>] [--unset <option>] [-I <imagebase>] [-p]
[-j <reg>] [--stack-pivot] [--inst-count <n bytes>]
[--search <regex>] [--quality <quality>] [--opcode <opcode>]
[--instructions <instructions>] [--type <type>] [--detailed]
[--all] [--cfg-only] [--chain <generator>] [-b <badbytes>]
[--nocolor] [--clear-cache] [--no-load] [--analyse <quality>]
[--semantic constraint]
[--count-of-findings <count of gadgets>] [--single]
You can use ropper to display information about binary files in different file formats
and you can search for gadgets to build rop chains for different architectures
supported filetypes:
ELF
PE
Mach-O
Raw
supported architectures:
x86 [x86]
x86_64 [x86_64]
MIPS [MIPS, MIPS64]
ARM/Thumb [ARM, ARMTHUMB]
ARM64 [ARM64]
PowerPC [PPC, PPC64]
SPARC [SPARC64]
available rop chain generators:
execve (execve[=<cmd>], default /bin/sh) [Linux x86, x86_64]
mprotect (mprotect=<address>:<size>) [Linux x86, x86_64]
virtualprotect (virtualprotect=<address iat vp>:<size>) [Windows x86]