rarun2 - radare2 utility to run programs in exotic environments

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

SEE ALSO

radare2(1), rahash2(1), rafind2(1), rabin2(1), radiff2(1), ragg2(1), rasm2(1),

AUTHORS

pancake <pancake@nopcode.org>