No description
Find a file
Riccardo Schirone 86ba9550c7
Use a multi-stage Dockerfile to improve readability (#1381)
* Use a multi-stage Dockerfile to improve readability
* Add a .dockerignore file to avoid useless re-building
* Remove rz-ghidra from container, at least for now. It does not work
  right now and ideally rz-ghidra should be compiled in the stage 0 and
  moved into /tmp/rizin-install, however rz-pm currently cannot easily
  do this. Things are too messy on the rz-pm side right now, so better
  to review once plugins will be easier to handle.
* Update Dockerfile
2021-07-30 15:23:14 +08:00
.builds Add NetBSD CI (#1216) 2021-06-20 00:51:10 +08:00
.github Allow capstone next to fail (#1378) 2021-07-29 12:47:44 +02:00
.reuse Add missing copyright information (#862) 2021-03-19 15:57:07 +08:00
binrz rz-test: Make sure to correctly free path_left ht (#1372) 2021-07-29 01:14:25 +08:00
dist/osx MacOS improvements (#322) 2021-01-11 14:45:38 +01:00
doc Convert ! commands to newshell (#1235) 2021-07-28 10:33:33 +02:00
librz Fix NPD in rz_core_analysis_esil_emulate_bb() (#1373) 2021-07-30 12:59:47 +08:00
LICENSES Few SPDX info addition and REUSE lint to CI (#1274) 2021-07-07 16:09:57 +08:00
man Rename newshell to rzshell and parser commands to statements 2021-04-22 19:45:14 +08:00
shlr Convert ! commands to newshell (#1235) 2021-07-28 10:33:33 +02:00
subprojects Refactor RzTypes to use structs instead of SDB + New Tree-Sitter based C Parser (#1047) 2021-07-20 01:46:45 +08:00
sys Refactor RzTypes to use structs instead of SDB + New Tree-Sitter based C Parser (#1047) 2021-07-20 01:46:45 +08:00
test Partly refactor PDB parser (#1173) 2021-07-29 18:55:51 +08:00
.appveyor.yml Refactor RzTypes to use structs instead of SDB + New Tree-Sitter based C Parser (#1047) 2021-07-20 01:46:45 +08:00
.clang-format Fix foreach macroses 2021-01-21 22:05:44 +08:00
.dockerignore Use a multi-stage Dockerfile to improve readability (#1381) 2021-07-30 15:23:14 +08:00
.gitattributes Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
.gitignore Gitignore all capstones 2021-05-21 22:59:17 +08:00
.lgtm.yml Make LGTM use Meson 2021-01-28 11:57:28 +01:00
.prettierignore Update rizin-shell-parser to tree-sitter 0.19.4 (#928) 2021-03-29 19:14:16 +02:00
.pylintrc Add workflow linter python 2021-02-15 10:24:46 +01:00
.travis.yml Enable travis CI on all branches ##test 2021-06-11 18:57:46 +08:00
BUILDING.md BUILDING.md improvements (#731) 2021-03-10 18:54:13 +08:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#93) 2020-11-24 06:50:10 +02:00
codecov.yml Remove unused pkgcfg files 2021-03-29 15:39:31 +08:00
CODEOWNERS Change the "anal" abbreviation to "Analysis" in Code (#117) 2020-12-06 19:25:27 +01:00
CONTRIBUTING.md Rename newshell to rzshell and parser commands to statements 2021-04-22 19:45:14 +08:00
COPYING
COPYING.LESSER
DEVELOPERS.md Fix FLIRT v5 file format decompression (#1352) 2021-07-27 14:43:12 +08:00
Dockerfile Use a multi-stage Dockerfile to improve readability (#1381) 2021-07-30 15:23:14 +08:00
Dockerfile.travis Fix Travis Docker rz-pipe URL 2020-12-09 10:12:50 +08:00
Doxyfile Rename r2 to rizin 2020-11-06 12:21:54 +08:00
meson.build Improve rz_sys_prefix when compiling rizin as portable (#1379) 2021-07-29 15:46:49 +02:00
meson_options.txt Fix autocompletion of rz- commands in rizin shell and rename wrong rz_ (#944) 2021-03-31 16:10:54 +02:00
README.md Remove freenode mentions in remaining files (#1218) 2021-06-17 12:25:37 +02:00
SECURITY.md Add a Security policy ##doc (#307) 2021-01-05 10:42:07 +02:00
snapcraft.yaml Update Snap package file (#925) 2021-03-29 15:39:15 +08:00
travis-extract-var.sh SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
travis-script Rename newshell to rzshell and parser commands to statements 2021-04-22 19:45:14 +08:00

Rizin logo

Rizin

Rizin is a fork of the radare2 reverse engineering framework with a focus on usability, working features and code cleanliness.

Rizin is portable and it can be used to analyze binaries, disassemble code, debug programs, as a forensics tool, as a scriptable command-line hexadecimal editor able to open disk files, and much more!

To learn more on Rizin you may want to read the official Rizin book.

How to install

You can find the latest release binaries for Android, Debian, Ubuntu, MacOS, Windows here. If we don't provide a released binary for your system, you can still build Rizin yourself.

How to build

Use meson to compile and install Rizin. Please make sure to get an updated meson (e.g. get it with pip install meson if your system does not provide one that is at least version 0.55.0).

Clone this repository:

$ git clone https://github.com/rizinorg/rizin

Then compile and install with:

$ meson build
$ ninja -C build
$ sudo ninja -C build install

Now you can use rizin:

$ rizin --
 -- Thank you for using rizin. Have a nice night!
[0x00000000]>

To uninstall rizin, execute sudo ninja -C build uninstall.

Please have a look at BUILDING.md for more information about building Rizin.

Contributing

We very much welcome any kind of contributions, from typos, to documentation, to refactoring, up to completely new features you may think of. Before contributing, we would like you to read the file CONTRIBUTING.md, so that we can all be on the same page.

Tests

Look at test/README.md.

Supported features

Supported Operating Systems

Windows (since XP), GNU/Linux, GNU/Darwin, GNU/Hurd, Apple's {Mac,i,iPad,watch}OS, [Dragonfly|Net|Free|Open]BSD, Android, QNX, Solaris, Haiku, FirefoxOS.

Supported Architectures

i386, x86-64, ARM, MIPS, PowerPC, SPARC, RISC-V, SH, m68k, m680x, AVR, XAP, System Z, 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, TMS320 (c54x, c55x, c55+, c66), Hexagon, DCPU16, LANAI, MCORE, mcs96, RSP, SuperH-4, VAX, AMD Am29000.

There is also support for the following bytecode formats:

Dalvik, EBC, Java, Lua, Python, WebAssembly, Brainfuck, Malbolge

Supported 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, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.

Scripting

We provide a way to interact with Rizin from Python, Haskell, OCaml, Ruby, Rust, and Go languages through rzpipe. Other languages although not currently supported could be easily added.

Community

Our website and blog: https://www.rizin.re/

Join our Mattermost community to discuss Rizin, its development, and general topics related to the project.

We also provide the following partial bridges to other messaging platforms: