├── layer1 ├── test │ ├── flags │ ├── seek │ ├── write │ └── print └── README.md └── README.md /layer1/test/flags: -------------------------------------------------------------------------------- 1 | f foo=123 2 | f+foo 3 | f-foo 4 | -------------------------------------------------------------------------------- /layer1/test/seek: -------------------------------------------------------------------------------- 1 | s 0x100 2 | s 1024 3 | s 0 4 | s+4 5 | s-10 6 | s+ 7 | s- 8 | -------------------------------------------------------------------------------- /layer1/test/write: -------------------------------------------------------------------------------- 1 | w hello -> write string 2 | wx 9090 -> write hexadecimal 3 | -------------------------------------------------------------------------------- /layer1/test/print: -------------------------------------------------------------------------------- 1 | px 32 -> hexdump of 32 bytes 2 | pd 10 -> disasm 10 instructions 3 | -------------------------------------------------------------------------------- /layer1/README.md: -------------------------------------------------------------------------------- 1 | # RADARE COMMANDS COMPAT LAYER 1 2 | 3 | The list of the very basic comments that need to be supported in Radare. 4 | 5 | ## Moving Around 6 | 7 | The `s` command 8 | 9 | * See test/seek 10 | 11 | ## Printing 12 | 13 | * See test/print 14 | 15 | ## Flags 16 | 17 | * See test/flags 18 | 19 | ## Writing 20 | 21 | * See test/write 22 | 23 | ## Leaving 24 | 25 | * q -> quit with prompting 26 | * q! -> quit without prompting 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Radare2 Commands Specification 2 | 3 | This project defines the command compatibility layers for RADARE implementations, to ensure portability across different tools that interact or provide radare-like shells or scripting capabilities. 4 | 5 | ## Suggested Implementations 6 | 7 | - Radare2 (original C implementation) 8 | - R4 Ghidra (Java-based) 9 | - R2FRIDA (TypeScript in FRIDA agent site) 10 | - r0 (formerly known as ired) 11 | - radare1 (stopped development in 2009) 12 | - rair (radare fork in rust) 13 | - Other RADARE compatible shells like rizin 14 | 15 | ## Layers 16 | 17 | ### Layer 0: Bare Minimum 18 | 19 | Basic commands for moving around and hex editing 20 | 21 | ### Layer 1: Basic Compatibility 22 | 23 | Defines the minimum set of comments that must be supported for a RADARE implementation to be considered standard and compatible. This layer ensures basic interoperability between different RADARE variants. 24 | 25 | ### Layer 2: Extended Commands 26 | 27 | Defines the minimum set of comments that must be supported for a RADARE implementation to be considered standard and compatible. This layer ensures basic interoperability between different RADARE variants. 28 | --------------------------------------------------------------------------------