RAGG2(1)

NAME
ragg2 - radare2 utility to run programs in exotic environments

SYNOPSIS
ragg2 [-a arch] [-b bits] [-k kernel] [-f format] [-o file] [-FOIsxXh]

DESCRIPTION
ragg2 is a frontend for r_egg, compile programs into tiny binaries for x86-32/64 and arm.

This tool is experimental and it is a rewrite of the old rarc2 and rarc2-tool programs as a library and integrated with r_asm and r_bin.

Programs generated by r_egg are relocatable and can be injected in a running process or on-disk binary file.

DIRECTIVES

The rr2 (ragg2) configuration file accepts the following directives, described as key=value entries and comments defined as lines starting with '#'.

-a arch
    set architecture x86, arm

-b bits
    32 or 64

-k kernel
    windows, linux or osx

-f format
    select binary format (pe, elf, mach0)

-o file
    output file to write result of compilation

-F  autodetect native file format (osx=mach0, linux=elf, ..)

-O  use default output file (filename without extension or a.out)

-I  add include path

-s  show assembler code

-x  show hexpairs (default)

-X  execute (just-in-time)

EXAMPLE

$ cat hi.r /* hello world in r_egg */ write@syscall(4); exit@syscall(1);

main@global(128) { .var0 = "hi!; write(1,.var0, 4); exit(0); } $ ragg2 -O -F hi.r $ ./hi hi!

SEE ALSO

radare2(1), rahash2(1), rafind2(1), rabin2(1), rafind2(1), ranal2(1), radiff2(1), rasc2(1), rasm2(1),

AUTHORS

pancake <pancake@nopcode.org>