No description
Find a file
Ayush 996fe87fb4
Add ecl command to list colors with descriptions (#5469)
* Add ecl command using YAML details feature

Implement new ecl command to list color palette keys with descriptions
using Rizin's YAML command generation system.

- Add ecl command definition in cmd_eval.yaml with details section
- Add handler function to iterate and print color names with descriptions
- Add test case for ecl command
- Use ^anchor in grep to avoid substring matching issues

Fixes #5462

* Fix padding in ecl command output

Adjust padding calculation from max_len+1 to max_len+2 to match
expected spacing in test output.

* Removed colon from ecl command output for cleaner format

* Add color visualization to ecl command output

Implement colored blocks (##) in ecl command output, similar to the ec command.
This provides visual representation of each color alongside its description.
2025-10-22 00:17:51 +08:00
.builds Run tests in OpenBSD with doas. (#5234) 2025-07-05 18:44:13 +08:00
.github Add AI tool guidelines (#5474) 2025-10-21 20:53:17 +08:00
.woodpecker Run tests on woodpecker but be verbose. 2024-09-23 14:24:41 +08:00
binrz Remove brackets from args in rz-test -h (#5454) 2025-10-13 11:02:47 +08:00
dist Drop libuv dependency 2022-08-06 13:20:52 +02:00
doc Document and be more verbose about token parsing failures. (#5460) 2025-10-15 18:03:42 +00:00
librz Add ecl command to list colors with descriptions (#5469) 2025-10-22 00:17:51 +08:00
LICENSES Move SDB into RzUtil 2022-07-19 08:45:20 +02:00
subprojects linter: update clang-format installation to version 20 (#5451) 2025-10-12 08:02:03 +08:00
sys Re-format Python files according to black v25. (#4921) 2025-02-22 03:01:14 +08:00
test Add ecl command to list colors with descriptions (#5469) 2025-10-22 00:17:51 +08:00
.appveyor.yml ci: install tomli for meson (#4590) 2024-08-15 20:43:00 +08:00
.clang-format refactor: Use HtSP for storing plugins. (#4687) 2024-10-26 16:31:13 +08:00
.dockerignore Drop libuv dependency 2022-08-06 13:20:52 +02:00
.git-blame-ignore-revs linter: update clang-format entries in .git-blame-ignore-revs (#5453) 2025-10-12 12:07:13 +08:00
.gitattributes Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
.gitignore Ignore subprojects/.wraplock (#5410) 2025-09-25 20:57:27 +08:00
.lgtm.yml Make LGTM use Meson 2021-01-28 11:57:28 +01:00
.prettierignore Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
.pylintrc Redirect stderr to stdout via -1; Unbreak dk 9 test (#4664) 2024-10-12 06:37:09 +08:00
.travis.yml ci: install tomli for meson (#4590) 2024-08-15 20:43:00 +08:00
BUILDING.md Add s390x cross build example. (#5384) 2025-09-22 11:44:03 +00:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#93) 2020-11-24 06:50:10 +02:00
codecov.yml String search integration tests (#5358) 2025-09-14 11:44:14 +08:00
CODEOWNERS Add myself as code owner to be added as default reviewer to PRs. (#4839) 2025-01-15 22:29:13 +08:00
CONTRIBUTING.md Add AI tool guidelines (#5474) 2025-10-21 20:53:17 +08:00
COPYING
COPYING.LESSER
DEVELOPERS.md build(deps): bump fsfe/reuse-action from 5 to 6 (#5458) 2025-10-19 23:17:51 +08:00
Dockerfile docker: update to Debian 11 (Bullseye) (#5277) 2025-07-18 12:27:28 +08:00
Doxyfile Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
meson.build Fix using system zydis (#5416) 2025-10-01 10:10:41 +08:00
meson_options.txt Add option to use system BLAKE3 (#5414) 2025-09-28 13:11:33 +08:00
README.md Update README.md (#4915) 2025-02-19 01:06:44 +08:00
REUSE.toml build(deps): bump fsfe/reuse-action from 5 to 6 (#5458) 2025-10-19 23:17:51 +08:00
SECURITY.md Add AI tool guidelines (#5474) 2025-10-21 20:53:17 +08:00
snapcraft.yaml Bump version to v0.9.0 2025-04-23 16:49:14 +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 Use meson setup <dir> instead of meson <dir> 2023-04-26 20:01:47 +08:00

Rizin logo

Rizin

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

Rizin is portable and it can be used to analyze binaries, disassemble code, debug programs, as a forensic 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

Look at install instructions on our web page.

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 setup build
$ meson compile -C build
$ sudo meson install -C build

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 7 and higher, Apple macOS/iOS/iPadOS, GNU/Linux, [Dragonfly|Net|Free|Open]BSD, Android, QNX, Solaris/Illumos, Haiku, GNU/Darwin, GNU/Hurd.

Supported Architectures

i386, x86-64, ARM/ARM64, RISC-V, PowerPC, MIPS, AVR, SPARC, System Z (S390), SuperH, m68k, m680x, XAP, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, Renesas (V810, V850, RL78), 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+, c64x), Hexagon, DCPU16, LANAI, MCORE, mcs96, RSP, C-SKY(MCore), 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, NE, LE, LX, TE, XBE, BIOS/UEFI, Dyldcache, DEX, ART, CGC, ELF, Java class, Android boot image, Plan9 executable, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), DMP (Windows pagedump), WASM (WebAssembly binary), Commodore VICE emulator, QNX, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.

Tools

Apart from the main tool rizin, there are also other tools tailored for specific purposes and useful for shell scripting or as separate standalone tools:

  • rz-bin - provides all kind of information about binary formats
  • rz-asm - a command-line assembler and disassemblers
  • rz-diff - a tool to compare two binaries as raw data or analyzed executables
  • rz-hash - allows to calculate different hashes or even encrypt data
  • rz-gg - a small "eggs" code generator useful for exploitation purposes
  • rz-find - binary analog of find tool, allowing to search patterns and bit masks
  • rz-sign - tool to create, convert and parse FLIRT signatures
  • rz-ax - a calculator and number format converter
  • rz-run - a tool that allows to specify running environment and arguments for debugged file

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: