fcf4d8dcad
It is still UTF-8, and thus not valid to have a NULL inside of the the file, but sometimes inputs are not NULL-terminated |
||
---|---|---|
.github | ||
binr | ||
dist | ||
doc | ||
libr | ||
man | ||
mk | ||
pkgcfg | ||
shlr | ||
sys | ||
test | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
autogen.sh | ||
codecov.yml | ||
COMMUNITY.md | ||
config-user.mk.acr | ||
configure | ||
configure-plugins | ||
configure.acr | ||
configure.hook | ||
CONTRIBUTING.md | ||
COPYING | ||
COPYING.LESSER | ||
DEVELOPERS.md | ||
Doxyfile | ||
env.sh | ||
global.mk | ||
INSTALL.md | ||
Makefile | ||
meson_options.txt | ||
meson.build | ||
package.json | ||
README.md | ||
USAGE.md |
Radare2: Unix-Like Reverse Engineering Framework
Git version is 5.3.0-git and the See the Release downloads page.
r2 is a rewrite from scratch of radare. It provies a set of libraries, tools and plugins to ease reverse engineering tasks.
The radare project started as a simple command-line hexadecimal editor focused on forensics, over time more features were added to support a scriptable command-line low level tool to edit from local hard drives, kernel memory, programs, remote gdb servers and be able to analyze, emulate, debug, modify and disassemble any binary.
- Install r2 from Git (Clone the repo and run
sys/install.sh
) or usepip install r2env
- Read the Official radare2 book
- COMMUNITY.md engagement
- CONTRIBUTING.md general rules
- DEVELOPERS.md to improve r2 for your needs
- USAGE.md for an introductory session
- INSTALL.md instructions
git clone https://github.com/radareorg/radare2
radare2/sys/install.sh
Plugins
Most of the plugins you need may be available in the stock r2 installation, but you can find more in the r2pm package manager.
r2pm update # initialize and update the package database
r2pm install [pkg] # installs the package
Some of the most installed packages are:
- r2ghidra the native ghidra decompiler plugin:
pdg
command - esilsolve symbolic execution r2 plugin based on esil and z3
- r2dec decompiler based on r2 written in js
pdd
- r2frida the frida io plugin
r2 frida://0
- iaito - official graphical interface (Qt)
Operating Systems
Windows (since XP), Linux, Darwin, GNU/Hurd, Apple's {Mac,i,iPad,watch}OS, Android [Dragonfly, Net, Free, Open] BSD, Z/OS, QNX, Solaris, Haiku, FirefoxOS.
Architectures
i386, x86-64, ARM, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, m680x, AVR, XAP, S390, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, V850, CRIS, XAP, PIC, LM32, 8051, 6502, i4004, i8080, Propeller, Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, NIOS II, Java, Dalvik, WebAssembly, MSIL, EBC, TMS320 (c54x, c55x, c55+, c66), Hexagon, Brainfuck, Malbolge, whitespace, DCPU16, LANAI, MCORE, mcs96, RSP, SuperH-4, VAX, AMD Am29000.
File Formats
ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, OMF, TE, XBE, BIOS/UEFI, Dyldcache, DEX, ART, CGC, Java class, Android boot image, Plan9 executable, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), WASM (WebAssembly binary), Commodore VICE emulator, QNX, WAD, OFF, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs, various filesystems.
Contributing
There are many ways to contribute to the project, join the IRC/Matrix/Telegram
channels, check out the github issues or grep for the TODO comments in the source.
To contribute with code, create a branch in your forked repository and push
a pull request, follow the coding style and ensure it passes the tests with
the r2r
tool to run the tests that are under the tests/
subdirectory.
For more details read the CONTRIBUTING.md file.
Community and Documentation
To learn more about r2 we encourage you to watch youtube talks from r2con conference. As well as reading blogposts, slides or read the Official radare2 book, You can reach us in the following chats:
- irc.libera.chat
#radare
#radare_side
- Matrix
#radare:matrix.org
- Telegram and the Side Channel
- Discord server
- Twitter: @radareorg
- Website: https://www.radare.org/