mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-12 15:38:09 +00:00
116 lines
3.1 KiB
Groff
116 lines
3.1 KiB
Groff
.Dd Sep 30, 2014
|
|
.Dt RARUN2 1
|
|
.Sh NAME
|
|
.Nm rarun2
|
|
.Nd radare2 utility to run programs in exotic environments
|
|
.Sh SYNOPSIS
|
|
.Nm rarun2
|
|
.Op [script.rr2]
|
|
.Sh DESCRIPTION
|
|
This program is used as a launcher for running programs with different environment, arguments, permissions, directories and overridden default filedescriptors.
|
|
.Pp
|
|
The program just accepts a single argument which is the filename of the configuration file to run the program.
|
|
.Pp
|
|
It is useful when you have to run a program using long arguments or pass long data to stdin or things like that usually required for exploiting crackmes :)
|
|
.Sh DIRECTIVES
|
|
.Pp
|
|
The rr2 (rarun2) configuration file accepts the following directives, described as key=value entries and comments defined as lines starting with '#'.
|
|
.Bl -tag -width Fl
|
|
.It Ar arg[0-3]
|
|
set value for argument N passed to the program
|
|
.It Ar aslr
|
|
enable or disable ASLR
|
|
.It Ar bits
|
|
set 32 or 64 bit (if the architecture supports it)
|
|
.It Ar chdir
|
|
change directory before executing the program
|
|
.It Ar chroot
|
|
run the program in chroot. requires some previous setup
|
|
.It Ar core
|
|
set no limit the core file size
|
|
.It Ar connect
|
|
connect stdin/stdout/stderr to a socket
|
|
.It Ar envfile
|
|
set a file with lines like `var=value` to be used as env
|
|
.It Ar input
|
|
set string to be passed to the program via stdin
|
|
.It Ar libpath
|
|
override path where the dynamic loader will look for shared libraries
|
|
.It Ar listen
|
|
bound stdin/stdout/stderr to a listening socket
|
|
.It Ar maxstack
|
|
set the maximum size for the stack
|
|
.It Ar maxproc
|
|
set the maximum number of processes
|
|
.It Ar maxfd
|
|
set the maximum number of file descriptors
|
|
.It Ar nice
|
|
set the niceness level of the process
|
|
.It Ar preload
|
|
preload a library (not supported on Windows, only linux,osx,bsd)
|
|
.It Ar program
|
|
path to program to be executed
|
|
.It Ar r2preload
|
|
preload with libr2, kill -USR1 to get an r2 shell or -USR2 to spawn a webserver in a thread
|
|
.It Ar r2preweb
|
|
run the webserver in a thread just at starting the r2preload
|
|
.It Ar setenv
|
|
set value for given environment variable
|
|
.It Ar setegid
|
|
set effective process group id
|
|
.It Ar seteuid
|
|
set effective process uid
|
|
.It Ar setgid
|
|
set process group id
|
|
.It Ar setuid
|
|
set process uid
|
|
.It Ar sleep
|
|
sleep for the given amount of seconds
|
|
.It Ar stdin
|
|
select file to read data from stdin
|
|
.It Ar stdout
|
|
select file to replace stdout file descriptor
|
|
.It Ar system
|
|
execute the given command
|
|
.It Ar timeout
|
|
set a timeout
|
|
.It Ar unsetenv
|
|
unset the whole environnement
|
|
.El
|
|
.Sh EXAMPLES
|
|
Sample rarun2 script
|
|
.Pp
|
|
$ cat foo.rr2
|
|
#!/usr/bin/rarun2
|
|
program=./pp400
|
|
arg0=10
|
|
stdin=foo.txt
|
|
chdir=/tmp
|
|
#chroot=.
|
|
./foo.rr2
|
|
.Pp
|
|
Connecting a program to a socket
|
|
.Pp
|
|
$ nc \-l 9999
|
|
$ rarun2 program=/bin/ls connect=localhost:9999
|
|
.Pp
|
|
Debugging a program redirecting io to another terminal
|
|
.Pp
|
|
## open a new terminal and type 'tty' to get
|
|
$ tty ; clear ; sleep 999999
|
|
/dev/ttyS010
|
|
## in another terminal run r2
|
|
$ r2 \-d rarun2 program=/bin/ls stdio=/dev/ttys010
|
|
.Sh SEE ALSO
|
|
.Pp
|
|
.Xr radare2(1) ,
|
|
.Xr rahash2(1) ,
|
|
.Xr rafind2(1) ,
|
|
.Xr rabin2(1) ,
|
|
.Xr radiff2(1) ,
|
|
.Xr ragg2(1) ,
|
|
.Xr rasm2(1) ,
|
|
.Sh AUTHORS
|
|
.Pp
|
|
Written by pancake <pancake@nopcode.org>
|