.Dd May 20, 2025 .Dt RADARE2 1 .Sh NAME .Nm radare2 .Nd Advanced command-line hexadecimal editor, disassembler and debugger .Sh SYNOPSIS .Nm radare2 .Op Fl a Ar arch .Op Fl b Ar bits .Op Fl B Ar baddr .Op Fl c Ar cmd .Op Fl e Ar k=v .Op Fl i Ar file .Op Fl I Ar prefile .Op Fl k Ar kernel .Op Fl m Ar addr .Op Fl p Ar project .Op Fl P Ar patch .Op Fl r Ar rarun2 .Op Fl R Ar rr2rule .Op Fl s Ar addr .Op Fl 012AdDEjwntLquvVxX .Ar -|--|=|file .Sh DESCRIPTION An advanced command-line hex editor, disassembler, and debugger, providing interactive reverse engineering, scripting, and automation capabilities for binary analysis and vulnerability research. .Pp The alias 'r2' may be used as a shorthand for radare2. .Pp The options are: .Bl -tag -width Fl .It Fl Fl Open radare2 on an empty file .It Fl Equivalent of 'r2 malloc://512' .It Fl 0 Print \\x00 after initialization and after every command executed .It Fl 1 Redirect stderr to stdout .It Fl 2 Close stderr before starting RCore .It Fl a Ar arch force asm.arch (x86, ppc, arm, mips, bf, java, ...) .It Fl A run 'aaa' command before prompt or patch to analyze all referenced code. Use -AA to run aaaa .It Fl b Ar bits force asm.bits (16, 32, 64) .It Fl B Ar baddr Specify the base address to be used when loading a new binary. See 'e?bin.baddr' .It Fl c Ar cmd Execute the given command before giving prompt .It Fl d Start in debugger mode .It Fl D Ar dbg.backend Enable debug mode. Set cfg.debug=true .It Fl e Ar k=v Set configuration eval variable key=value. For example \-e scr.color=false. When -e is passed after -j, it will set the script source to run instead of setting eval vars. .It Fl E Edit the user startup script using the cfg.editor (EDITOR env) of choice .It Fl f Blocksize = file size .It Fl j Run QJS script if an argument is passed or enter the qjs shell if no file is specified. You can evaluate expressions when passing the -e flag after the -j. .It Fl i Ar file Run script, lang program or radare2 plugin file. After the file is loaded .It Fl I Ar file Run script, lang program or radare2 plugin file. Before the file is loaded .It Fl k Ar kernel Select kernel (asm.os) for syscall resolution .It Fl L List loaded IO plugins. .It Fl LL List loaded core plugins. .It Fl m Ar addr map file at given address .It Fl M Disable demangling .It Fl n Do not perform any analysis (r_bin). Just load the raw file .It Fl nn Only load the rbin structures (elf, mach0, ...) .It Fl N Do not load user settings/projects from ~/.radare2rc, ~/.config/radare2/rc and the scripts inside ~/.config/radare2/rc.d/ directory. .It Fl NN Same as -N but also disables the automatic loading of plugins on startup time .It Fl q Quiet mode (no prompt) and quit after running the commands specified with -i or -c .It Fl qq Quit before showing the prompt. Right after all the -e -c and -i arguments are evaluated. .It Fl Q Same as q, but exiting without freeing RCore, this produces leaks at exit time, but saves some precious ms to run the testsuite in fast mode. .It Fl p Ar prj Set project file .It Fl P Ar file Apply rapatch file and quit (see doc/rapatch.md for more details) .It Fl r Ar rarun2 Specify dbg.profile rarun2 profile to use when spawning a program for debugging .It Fl R Ar rarun2-directive Specify custom rarun2 directives without having to create a rarun2 profile .It Fl s Ar addr Start seeking at this address .It Fl S Enable sandboxed mode (same as \-e cfg.sandbox=true) .It Fl t Get binary information and analyze binary in a background thread .It Fl T Avoid computing the file hashes .It Fl u Set bin.filter=false to load rbin info without filtering names .It Fl v Show version information and exit (Use -qv to get just the version number) .It Fl V Show radare2 library versions (prints JSON format if -j is used) .It Fl w Open in write mode .It Fl h Show help message .It Fl H Op variable Show files and environment help, or print the selected variable .It Fl x Open the file map without executable permissions .It Fl X Same as -e bin.usextr=false, do not use extract plugins, useful for dyldcache .El .Sh SHELL Type '?' for help .Pp .Sh VISUAL To enter visual mode use the 'V' command. Then press '?' for help .Sh DEBUGGER In r2 the debugger commands are implemented under the 'd' command. Type 'd?' for help .Pp Useful debugger additions include: .Bl -tag -width Fl .It Cm dts+ Start recording reversible debugger session state. .It Cm dtsc Op Ar label Create a checkpoint from the current live state. Checkpoints carry a stable id and may branch from the current checkpoint. .It Cm dtsr Ar id Restore a checkpoint by id and continue from that branch. .It Cm dtsd Ar id Delete a non-current leaf checkpoint. .It Cm dtst Ar dir No / Cm dtsf Ar dir Save and load the current debug session, including checkpoint ids and parent links. .It Cm dtsw Ar id Ar fd Ar hex No / Cm dtswc Ar id Op Ar fd No / Cm dtswj Queue replay bytes on a checkpoint file descriptor, clear queued bytes, and inspect replay state in JSON form. .El .Sh ENVIRONMENT R2_ARGS run radare2 with defined arguments in environment and ignore cli ones R2_IGNVER load plugins ignoring the specified version. (be careful) R2_DEBUG if defined, show error messages and crash signal R2_DEBUG_ASSERT=1 set a breakpoint when hitting an assert R2_MAGICPATH /Users/pancake/.local/share/radare2/share/radare2/4.5.0-git/magic R2_NOPLUGINS do not load r2 shared plugins R2_PLUGINS_ORDER plugin load order: i=internal, e=env, h=home, s=system, c=config; default=icehs; ? prints help R2_RCFILE ~/.radare2rc (user preferences, batch script) R2_RDATAHOME /usr/local .Ar FILE path to the current working file. .Sh SEE ALSO .Pp .Xr r2r(1) , .Xr rahash2(1) , .Xr rafind2(1) , .Xr rabin2(1) , .Xr radiff2(1) , .Xr rasm2(1) , .Xr rax2(1) , .Xr ravc2(1) , .Xr ragg2(1) , .Xr rarun2(1) , .Sh AUTHORS .Pp pancake