Skip to content

Search for JOP gadgets in your Risc-V applications with RaccoonV

License

Notifications You must be signed in to change notification settings

e2r3p13/raccoonv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RaccoonV - A Risc-V JOP gadget finder

RaccoonV is a linux command line tool. It has many advantages compared to a real raccoon: Insead of digging holes in your garden to find food, it will investigate binaries to find JOP gadgets.

Another advantage is that it is made out of Rust instead of legs, snouts and stuff like this. This makes it more robust than a real raccoon, indeed.

⚠️ It only works on Linux for elf binaries with Risc-V architecture (ISA RV32IC).

Quick start

First, you need to install the Rust toolchain.

Here are quick instructions to build/install the project. Please refer to the cargo documentation for more details.

Build:

cargo build --release

Install:

# In your home directory
cargo install --path .
# Or systemwise
sudo cargo install --path . --root /bin

Usage

Usage: rv [OPTIONS] <PATH>

Arguments:
  <PATH>  Path of the target binary

Options:
  -d, --dispatcher  Find dispatcher gadgets
      --inline      Display gadgets in a single line
  -m, --max <MAX>   Only search gadgets with at maximum <max> instructions [default: 5]
  -j, --jr <reg>    Only find gadgets ending with a jump to <reg> register
  -w, --wr <reg>    Only find gadgets where the <reg> register is written to
  -i, --imm <imm>   Only find gadgets where the <imm> immediate is used
  -r, --rr <reg>    Only find gadgets where the <reg> register is read from
  -o, --op <ins>    Only find gadgets containing the <ins> instruction
      --raw         Process raw code instead of elf file
  -h, --help        Print help
  -V, --version     Print version

Feedbacks & suggestions are welcome, especially concerning the project name.

About

Search for JOP gadgets in your Risc-V applications with RaccoonV

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages