2021-03-21 02:39:04 +01:00
2021-03-21 02:02:12 +01:00
2021-03-21 02:39:04 +01:00
2021-03-21 02:17:19 +01:00
2009-09-01 22:31:48 +00:00
2021-03-21 02:09:09 +01:00
2019-01-05 13:37:19 +01:00
2020-10-05 10:25:49 +02:00
2021-03-21 02:01:59 +01:00
2009-09-23 18:26:53 +02:00
2021-03-21 01:50:56 +01:00
2021-03-21 01:50:56 +01:00
2021-03-21 01:56:05 +01:00
2021-03-21 02:04:06 +01:00
2021-03-21 02:01:59 +01:00
2021-03-21 02:01:59 +01:00
2021-03-21 02:24:57 +01:00
2021-03-21 01:56:00 +01:00

R0 stands for radare-zero

ci

r0 aims to be a minimalistic reimplementation of the radare shell without much complexity and relaying all the extensibility to external applications trying to keep the source as small as possible.

Features

  • Small footprint (50KB)
  • Minimalistic Intel and ARM disassemblers (90KB)
  • Minimum set of commands to inspect and manipulate binaries
  • r0d does binary diffing and patching files
  • r0v is the visual interactive frontend of r0
  • Very portable: Compiles for wasm, js.. even for MS-DOS!
  • Single binary without any external dependency

AUTHOR

  • pancake<nopcode.org>

COMMANDS

[0x00000000]> ?
s[+-addr]     seek to relative or absolute address
b[+-size]     change block size
w[hex|"str"]  write hexpair or string
/[hex|"str"]  search hexpair or string
x[size]       hexdump
d[size]       disassemble n bytes
X[size]       hexpair dump
p[fmt]        print formatted current block ('p' for help)
d[size]       disasemble
r[+-[num]]    truncate or -remove N bytes
.[file]       interpret file
<[file]       load file in current seek
>[file]       dump current block to file
!cmd          run shell command
?expr         calculate numeric expression
q             quit
[0x00000000]>

WORK IN PROGRESS

print command

[0x00000000]> p?
ob/wW/dD/qQ  byte (oct,hex), word, dword, qword (lil, big endian)
i/I/f/F      int32 (lil, big), float (lil, big)
s/S          short int16 (lil, big)
z/Z          zero-terminatted string (ascii, wide-ascii)
./:/*        skip 1 or 4 chars, repeat last format instead of cycle

PORTABILITY

r0 is known to build and run on several OS.

  • GNU, Linux, OSX, Windows (mingw), DOS, cygwin, Solaris, BSD, ...

TODO:

  • support for escapped characters in string write and search ops
  • Add support for simple math ops (+,-,*,/) no parenthesis plz :)

TODO/TOTHINK

  • Remove '.' command? to make it suck less
  • Add .! command that runs !foo > file and then .file
  • Support for multiple commands in a single line (';' separator)
S
Description
minimalistic commandline hexadecimal editor similar to radare
Readme MIT
228 KiB
0 Stars 1 Watchers 0 Forks
0.9
Latest
2026-11-07 06:20:13 -10:00
Languages
C 97.2%
Roff 1%
Shell 0.9%
Makefile 0.9%