SYNOPSIS
rarun2 [[script.rr2]]DESCRIPTION
This program is used as a launcher for running programs with different environment, arguments, permissions, directories and overridden default filedescriptors.The program just accepts a single argument which is the filename of the configuration file to run the program.
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 :)
DIRECTIVES
The rr2 (rarun2) configuration file accepts the following directives, described as key=value entries and comments defined as lines starting with '#'.
- program
- path to program to be executed
- stdout
- select file to replace stdout file descriptor
- stdin
- select file to read data from stdin
- input
- set string to be passed to the program via stdin
- chdir
- change directory before executing the program
- chroot
- run the program in chroot. requires some previous setup
- preload
- preload a library (not supported on Windows, only linux,osx,bsd)
- setuid
- set process uid
- seteuid
- set effective process uid
- setgid
- set process group id
- setegid
- set effective process group id
- setenv
- set value for given environment variable
- arg[0-3]
- set value for argument N passed to the program
EXAMPLES
Sample rarun2 script
$ cat foo.rr2
#!/usr/bin/rarun2
program=./pp400
arg0=10
stdin=foo.txt
chdir=/tmp
#chroot=.
./foo.rr2
Connecting a program to a socket
$ nc -l 9999
$ rarun2 program=/bin/ls connect=localhost:9999
Debugging a program redirecting io to another terminal
## 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