Instalasi
Paket instalasi radare 2 dapat diunduh di github resminya, https://github.com/radare/radare2sudo git clone https://github.com/radare/radare2.git cd radare2 sudo sys/install.shDalam paket radare2 yang terinstall, terdapat aplikasi kecil pendukung antara lain:
radare2
Merupakan aplikasi utama yang digunakan untuk men-debug suatu program, disassembly, bahkan patching.rabin2
Program yang digunakan untuk mengekstrak informasi dari binary seperti ELF, Java CLASS, and Mach-O. Informasi yang dapat diekstrak seperti arsitektur, binary type, class, endian, OS, serta informasi yang biasa digunakan untuk exploit development seperti va randomisazion, nc, canary, dll. Termasuk library yang diimport ke dalam program.root@xd:~/cpp# rabin2 hello
Usage: rabin2 [-AcdeEghHiIjlLMqrRsSUvVxzZ] [-@ at] [-a arch] [-b bits] [-B addr]
[-C F:C:D] [-f str] [-m addr] [-n str] [-N m:M] [-P[-P] pdb]
[-o str] [-O str] [-k query] [-D lang symname] | file
root@xd:~/cpp# rabin2 -I hello
arch x86
binsz 6500
bintype elf
bits 64
canary false
class ELF64
crypto false
endian little
havecode true
intrp /lib64/ld-linux-x86-64.so.2
lang c
linenum true
lsyms true
machine AMD x86-64 architecture
maxopsz 16
minopsz 1
nx true
os linux
pcalign 0
pic true
relocs true
relro partial
rpath NONE
static false
stripped false
subsys linux
va true
rasm2
Program yang digunakan untuk merubah kode hex menjadi asm atau sebaliknya (assembler/dissassembler).root@xd:~/cpp# rasm2 -a x86 -d 554889e5 -b 64 push rbp mov rbp, rsp root@xd:~/cpp# rasm2 -a x86 -b 64 'push rbp;mov rbp,rsp' 554889e5
rahash2
Program yang digunakan untuk menghitung hash dari binary, biasa digunakan untuk identifikasi suatu binary.root@xd:~/cpp# rahash2 hello -a md5,sha1,sha256 hello: 0x00000000-0x000020e7 md5: fd0424835991263e9d5e3b1662b7df6a hello: 0x00000000-0x000020e7 sha1: 388bd716c5d925ca8fb9fd67f9af31a1c03a76a9 hello: 0x00000000-0x000020e7 sha256: 726dedfea8fbd3fc70acb5da81b2dc5ec9175c11395df4387cb2a2c6d0884874
radiff2
Program yang digunakan untuk melihat perbedaan antara 2 binary program yang ada, berguna pada saat prosess patching, maupun membandingkan program yang identik.root@xd:~/cpp# radiff2 -AsC hello hello2
[x] Analyze all flags starting with sym. and entry0 (aa)
[x] Analyze len bytes of instructions for references (aar)
[x] Analyze function calls (aac)
[x] Use -AA or aaaa to perform additional experimental analysis.
[x] Constructing a function name for fcn.* and sym.func.* functions (aan)
[x] Analyze all flags starting with sym. and entry0 (aa)
[x] Analyze len bytes of instructions for references (aar)
[x] Analyze function calls (aac)
[x] Use -AA or aaaa to perform additional experimental analysis.
[x] Constructing a function name for fcn.* and sym.func.* functions (aan)
fcn.0000021a 30 0x21a | MATCH (1.000000) | 0x21a 30 fcn.0000021a
sym._init 23 0x4f0 | MATCH (1.000000) | 0x4f0 23 sym._init
sym.imp.printf 32 0x520 | MATCH (1.000000) | 0x520 32 sym.imp.printf
sub.__cxa_finalize_248_530 16 0x530 | MATCH (1.000000) | 0x530 16 sub.__cxa_finalize_248_530
entry0 43 0x540 | MATCH (0.953488) | 0x540 43 entry0
sym.deregister_tm_clones 40 0x570 | MATCH (1.000000) | 0x570 40 sym.deregister_tm_clones
sym.register_tm_clones 57 0x5b0 | MATCH (1.000000) | 0x5b0 57 sym.register_tm_clones
sym.__do_global_dtors_aux 49 0x600 | MATCH (1.000000) | 0x600 49 sym.__do_global_dtors_aux
sym.frame_dummy 10 0x640 | MATCH (1.000000) | 0x640 10 sym.frame_dummy
sym.main 28 0x64a | MATCH (0.600000) | 0x64a 45 sym.main
sym.__libc_csu_init 101 0x670 | UNMATCH (0.970297) | 0x680 101 sym.__libc_csu_init
sym.__libc_csu_fini 2 0x6e0 | MATCH (1.000000) | 0x6f0 2 sym.__libc_csu_fini
sym.imp.__libc_start_main 60 0x0 | MATCH (1.000000) | 0x0 60 sym.imp.__libc_start_main
sym._fini 9 0x6e4 | MATCH (1.000000) | 0x6f4 9 sym._fini
rafind2
Program yang digunakan untuk mencari string, hexpair string, dllroot@xd:~/cpp# rafind2 -r -s 'hello' hello f hit0_0 0x000006f4 ; hello f hit0_1 0x000016f0 ; hello
ragg2
Program yang digunakan untuk meng-compile simple high-level language, biasanya digunakan untuk membuat payload sederhana.root@xd:~/cpp# ragg2-cc -x payload.c eb00488d351d000000bf01000000ba07000000b8010000000f0531ffb83c0000000f0531c0c348656c6c6f210a00
rarun2
program launcher yang digunakan untuk menjalankan program di environment yang berbeda dengan argument, permission, argument, file descriptor, permission yang berbeda.rax2
digunakan untuk mengkonversi antara byte, hex, ascii, int, dll, bahkan base62 encoding.root@xd:~/cpp# rax2 10 0xa root@xd:~/cpp# rax2 0xa 10 root@xd:~/cpp# rax2 -s 414141 AAA
Pada bagian pertama ini cukup sekian, untuk bagian selanjutnya akan membahas radare2 (r2) lebih mendalam, jika ada tambahan/saran, silahkan komentar di bawah ini.
part2nya manan nih om
ReplyDeletenunngu part duanya
ReplyDelete