Skip to content
This repository has been archived by the owner on Jan 27, 2020. It is now read-only.

Latest commit

 

History

History
57 lines (38 loc) · 1.51 KB

README.md

File metadata and controls

57 lines (38 loc) · 1.51 KB

Roppy

Roppy is an home-made script based on the python bindings (pydis) of the zydis disassembler.

Warnings

ONLY TESTED ON x64 ARCH FOR NOW

IN DEVELOPMENT

Why ?

  • It's fun.
  • It's a good way to learn.
  • I wasn't completely satisfied of the results of the well-known tools.

How to use it ?

Easy as pie!

pip install -r requirements.txt
usage: main.py [-h] [-m MNEMONIC] [-r REGISTER] [-l MAX_LEN]
               [-b BYTES_BACKWARD] [-s] [-f]
               file

Look for interesting gadgets inside a binary.

positional arguments:
  file                  The binary file to inspect

optional arguments:
  -h, --help            show this help message and exit
  -m MNEMONIC, --mnemonic MNEMONIC
                        Search for a specific mnemonic
  -r REGISTER, --register REGISTER
                        What register you want to manipulate.
  -l MAX_LEN, --max-len MAX_LEN
                        Maximum lenght of gadgets found. (default to 8)
  -b BYTES_BACKWARD, --bytes-backward BYTES_BACKWARD
                        Number of bytes to browse backwards each time a ret
                        instruction if found. (default to 30)
  -s, --symbols         Try to resolve symbols (prototypal only .symtab for
                        now).
  -f, --follow          Immediately prints gadgets at finding. Useful for
                        reeeally big binaries.

If you find any bugs, don't hesitate to open a ticket ;-)