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