Questo è il comando ragg2 che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
ragg2 - utility radare2 per eseguire programmi in ambienti esotici
SINOSSI
ragg2 [-a arco] [-b bit] [-k Kernel] [-f formato] [-o filetto] [-i codice shell] [-I sentiero]
[-e codificatore] [-B esagoni] [-c k=v] [-C filetto] [-d spento:dword] [-D spento:qword]
[-w spento: hexpair] [-p imbottitura] [-FOLsrxvh]
DESCRIZIONE
ragg2 è un frontend per r_egg, compila programmi in minuscoli binari per x86-32/64 e arm.
Questo strumento è sperimentale ed è una riscrittura dei vecchi programmi rarc2 e rarc2-tool come a
libreria e integrato con r_asm e r_bin.
I programmi generati da r_egg sono rilocabili e possono essere iniettati in un processo in esecuzione o
file binario del disco.
ragg2-cc è un altro strumento fornito con r2 e viene utilizzato per generare shellcode da C
codice. Il codice finale può essere collegato a rabin2 ed è rilocabile, quindi può essere utilizzato per
iniettarlo su qualsiasi processo remoto.
ragg2-cc è concettualmente basato su shellforge4, ma solo le piattaforme linux/osx x86-32/64 sono
supportato.
DIRETTIVE
Il file di configurazione rr2 (ragg2) accetta le seguenti direttive, descritte come chiave=valore
voci e commenti definiti come righe che iniziano con '#'.
-a arco imposta architettura x86, braccio
-b bit 32 o 64
-k Kernel windows, linux o osx
-f formato seleziona il formato binario (pe, elf, mach0)
-o filetto file di output per scrivere il risultato della compilazione
-i codice shell
specificare il nome shellcode da utilizzare (vedi -L)
-e codificatore specificare il nome dell'encoder da utilizzare (vedi -L)
-B hexapair specificare shellcode come hexpairs
-c k=v impostare l'opzione di configurazione per il codificatore shellcode. L'argomento deve essere chiave=valore.
-C filetto includi il contenuto del file
-d spento:dword
Patch buffer finale con dword specificato all'offset specificato
-D spento:qword
Patch buffer finale con qword data all'offset specificato
-w off: hexpairs
Patch buffer finale con date coppie esadecimali all'offset specificato
-p imbottitura Specificare i padding generici con una stringa di formato.
-F rileva automaticamente il formato file nativo (osx=mach0, linux=elf, ..)
-O usa il file di output predefinito (nome file senza estensione o a.out)
-I sentiero aggiungi il percorso di inclusione
-s mostra il codice assembler
-x eseguire (just-in-time)
ESEMPIO
$ cat ciao.r
/* ciao mondo in r_egg */
Scrivi@chiamata di sistema(4);
Uscita@chiamata di sistema(1);
principale@globale(128) {
.var0 = "ciao!\n";
scrivi(1,.var0, 4);
exit(0);
}
$ ragg2 -O -F hi.r
$ ./ciao
hi!
$ gatto ciao
principale () {
write(1, "Ciao0, 6);
exit(0);
}
$ ragg2 hi.c
$ ./hi.c.bin
Ciao
Usa ragg2 online utilizzando i servizi onworks.net