seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] radare

Ir para baixo  Mensagem [Página 1 de 1]

1[tutorial] radare Empty [tutorial] radare Ter Fev 11, 2014 12:33 pm

Kodo no Kami

Kodo no Kami
master
master

radare é uma ferramenta de debugação ou dissambler, ela é uma programa opensource para diversas plataformas entre elas windows, linux, mac, ios, android

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

depois de baixar o da sua plataforma basta extrair em uma pasta, no caso é necesario criar uma variavel de ambiente para aquele pasta para poder chamar ele pelo prompt sem acessar ela (ou entao vai ter que acessar ela para chamar ele), no meu caso aq eu deixei no diretorio "e:\Programas\radare2-w32-0.9.6\" entao para eu ver a versao dele usado a sintaxe -v teria que acessar o path todo

Código:
C:\Users\fts315\Desktop>e:\Programas\radare2-w32-0.9.6\radare2.exe -v

PRIV ENABLED
radare2 0.9.6 @ windows-little-x86-32 git.jenkins-radare2-w32-342-48-ge578289
commit: e578289990bcdc8032afd3937a7bfd4830d1e4d9 build: 2013-11-11

C:\Users\fts315\Desktop>

como eu crie uma variavel de ambiente basta apenas chamar o programa com a sintaxe

Código:
C:\Users\fts315\Desktop>radare2.exe -v

PRIV ENABLED
radare2 0.9.6 @ windows-little-x86-32 git.jenkins-radare2-w32-342-48-ge578289
commit: e578289990bcdc8032afd3937a7bfd4830d1e4d9 build: 2013-11-11

C:\Users\fts315\Desktop>

nesse tutorial so vou ensinar o basico da ferramenta radare nao vou me aprofundar em logica de engenharia reversa nao, para abrir um programa para debugar basta digitar o radare seguido do nome do arquivo

Código:
C:\Users\fts315\Desktop>radare2.exe kodo.exe

PRIV ENABLED
PRIV ENABLED
[0x00400220]>

como podemos ver no exemplo anterior ele abriu o programa e nos retorno um endereço de memoria "0x00400220", se a gente digitar o comando "pd" ele vai retorno o asm naquele endereço

Código:
[0x00400220]> pd
            ;-- entry0:
            0x00400220    55           push ebp
            0x00400221    89e5         mov ebp, esp
            0x00400223    83ec08       sub esp, 0x8
            0x00400226    c7042401000. mov dword [esp], 0x1
            0x0040022d    ff15cc504000 call dword [0x4050cc]
               0x008052ff(unk) ; str.___crt_xt_end__
            0x00400233    e8c8feffff   call 0x100400100
               0x00400100() ; main
            0x00400238    90           nop
            0x00400239    8db42600000. lea esi, [esi]
            0x00400240    55           push ebp
            0x00400241    89e5         mov ebp, esp
            0x00400243    83ec08       sub esp, 0x8
            0x00400246    c7042402000. mov dword [esp], 0x2
            0x0040024d    ff15cc504000 call dword [0x4050cc]
               0x0080531f(unk) ; str.___crt_xt_end__
            0x00400253    e8a8feffff   call 0x100400100
               0x00400100() ; main
            0x00400258    90           nop
            0x00400259    8db42600000. lea esi, [esi]
            0x00400260    55           push ebp
            0x00400261    8b0de4504000 mov ecx, [0x4050e4]
[0x00400220]>

se agente colocar pd@ seguido do endereço ele vai retornar a parte do endereço

Código:
[0x00400220]> pd@0x00400261
            0x00400261    8b0de4504000 mov ecx, [0x4050e4]
            0x00400267    89e5         mov ebp, esp
            0x00400269    5d           pop ebp
            0x0040026a    ffe1         jmp ecx
            0x0040026c    8d742600     lea esi, [esi]
            0x00400270    55           push ebp
            0x00400271    8b0dd8504000 mov ecx, [0x4050d8]
            0x00400277    89e5         mov ebp, esp
            0x00400279    5d           pop ebp
            0x0040027a    ffe1         jmp ecx
            0x0040027c    90           nop
            0x0040027d    90           nop
            0x0040027e    90           nop
            0x0040027f    90           nop
            0x00400280    55           push ebp
            0x00400281    89e5         mov ebp, esp
            0x00400283    5d           pop ebp
            0x00400284    e957020000   jmp 0x4004e0
            0x00400289    90           nop
            0x0040028a    90           nop
            0x0040028b    90           nop
            0x0040028c    90           nop
            0x0040028d    90           nop
[0x00400220]>

para mudar de endereço apenas digitamos ele

Código:
[0x00400220]> 0x00400230
[0x00400230]>

para retornar o hex do endereço usamos "px" (ali no bbcode vai ficar meio desalinhado kkkk)

Código:
[0x00400220]> px
- offset -   0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x00400220  5589 e583 ec08 c704 2401 0000 00ff 15cc  U.......$.......
0x00400230  5040 00e8 c8fe ffff 908d b426 0000 0000  P@.........&....
0x00400240  5589 e583 ec08 c704 2402 0000 00ff 15cc  U.......$.......
0x00400250  5040 00e8 a8fe ffff 908d b426 0000 0000  P@.........&....
0x00400260  558b 0de4 5040 0089 e55d ffe1 8d74 2600  U...P@...]...t&.
0x00400270  558b 0dd8 5040 0089 e55d ffe1 9090 9090  U...P@...]......
0x00400280  5589 e55d e957 0200 0090 9090 9090 9090  U..].W..........
0x00400290  5589 e583 ec08 c704 2400 3040 00e8 6e05  U.......$.0@..n.
0x004002a0  0000 c9c3 5589 e583 ec08 83e4 f0b8 0000  ....U...........
0x004002b0  0000 83c0 0f83 c00f c1e8 04c1 e004 8945  ...............E
0x004002c0  fc8b 45fc e857 0400 00e8 f200 0000 e8bd  ..E..W..........
0x004002d0  ffff ffc9 c390 9090 9090 9090 9090 9090  ................
0x004002e0  55b9 f030 4000 89e5 eb14 8db6 0000 0000  U..0@...........
0x004002f0  8b51 048b 0183 c108 0182 0000 4000 81f9  .Q..........@...
0x00400300  f030 4000 72ea 5dc3 9090 9090 9090 9090  .0@.r.].........
0x00400310  5589 e5db e35d c390 9090 9090 9090 9090  U....]..........
[0x00400220]>

tambem é possivel ver o endereço especifico com px@ seguido do endereço

Código:
[0x00400220]> px@0x400230
- offset -   0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF
0x00400230  5040 00e8 c8fe ffff 908d b426 0000 0000  P@.........&....
0x00400240  5589 e583 ec08 c704 2402 0000 00ff 15cc  U.......$.......
0x00400250  5040 00e8 a8fe ffff 908d b426 0000 0000  P@.........&....
0x00400260  558b 0de4 5040 0089 e55d ffe1 8d74 2600  U...P@...]...t&.
0x00400270  558b 0dd8 5040 0089 e55d ffe1 9090 9090  U...P@...]......
0x00400280  5589 e55d e957 0200 0090 9090 9090 9090  U..].W..........
0x00400290  5589 e583 ec08 c704 2400 3040 00e8 6e05  U.......$.0@..n.
0x004002a0  0000 c9c3 5589 e583 ec08 83e4 f0b8 0000  ....U...........
0x004002b0  0000 83c0 0f83 c00f c1e8 04c1 e004 8945  ...............E
0x004002c0  fc8b 45fc e857 0400 00e8 f200 0000 e8bd  ..E..W..........
0x004002d0  ffff ffc9 c390 9090 9090 9090 9090 9090  ................
0x004002e0  55b9 f030 4000 89e5 eb14 8db6 0000 0000  U..0@...........
0x004002f0  8b51 048b 0183 c108 0182 0000 4000 81f9  .Q..........@...
0x00400300  f030 4000 72ea 5dc3 9090 9090 9090 9090  .0@.r.].........
0x00400310  5589 e5db e35d c390 9090 9090 9090 9090  U....]..........
0x00400320  5589 e583 ec08 a120 2040 008b 0885 c974  U......  @.....t
[0x00400220]>

tambem é possivel tanto codificar a saida em base64 quanto decodificar com "p6e" para codificar e "p6d" para decodificar

Código:
[0x00400220]> p6e
VYnlg+wIxwQkAQAAAP8VzFBAAOjI/v//kI20JgAAAABVieWD7AjHBCQCAAAA/xXMUEAA6Kj+//+QjbQm
AAAAAFWLDeRQQACJ5V3/4Y10JgBViw3YUEAAieVd/+GQkJCQVYnlXelXAgAAkJCQkJCQkFWJ5YPsCMcE
JAAwQADobgUAAMnDVYnlg+wIg+TwuAAAAACDwA+DwA/B6ATB4ASJRfyLRfzoVwQAAOjyAAAA6L3////J
w5CQkJCQkJCQkJCQVbnwMEAAieXrFI22AAAAAItRBIsBg8EIAYIAAEAAgfnwMEAAcupdw5CQkJCQkJCQ
VYnl2+Ndw5CQkJCQkJCQkC==
[0x00400220]>

tambem é possivel fazer a mesma coisa usando o endereço

Código:
[0x00400220]> p6e@0x00400230
UEAA6Mj+//+QjbQmAAAAAFWJ5YPsCMcEJAIAAAD/FcxQQADoqP7//5CNtCYAAAAAVYsN5FBAAInlXf/h
jXQmAFWLDdhQQACJ5V3/4ZCQkJBVieVd6VcCAACQkJCQkJCQVYnlg+wIxwQkADBAAOhuBQAAycNVieWD
7AiD5PC4AAAAAIPAD4PAD8HoBMHgBIlF/ItF/OhXBAAA6PIAAADovf///8nDkJCQkJCQkJCQkJBVufAw
QACJ5esUjbYAAAAAi1EEiwGDwQgBggAAQACB+fAwQABy6l3DkJCQkJCQkJBVieXb413DkJCQkJCQkJCQ
VYnlg+wIoSAgQACLCIXJdC==
[0x00400220]>

com o comando p8 ele mostra apenas o codigo hex

Código:
[0x00400220]> p8
5589e583ec08c7042401000000ff15cc504000e8c8feffff908db426000000005589e583ec08c704
2402000000ff15cc504000e8a8feffff908db42600000000558b0de450400089e55dffe18d742600
558b0dd850400089e55dffe1909090905589e55de957020000909090909090905589e583ec08c704
2400304000e86e050000c9c35589e583ec0883e4f0b80000000083c00f83c00fc1e804c1e0048945
fc8b45fce857040000e8f2000000e8bdffffffc9c3909090909090909090909055b9f030400089e5
eb148db6000000008b51048b0183c10801820000400081f9f030400072ea5dc39090909090909090
5589e5dbe35dc3909090909090909090
[0x00400220]>

com o comando "pc" ele tem a saida igual da linguagem c

Código:
[0x00400220]> pc
#define _BUFFER_SIZE 256
unsigned char buffer[256] = {
  0x55, 0x89, 0xe5, 0x83, 0xec, 0x08, 0xc7, 0x04, 0x24, 0x01, 0x00,
  0x00, 0x00, 0xff, 0x15, 0xcc, 0x50, 0x40, 0x00, 0xe8, 0xc8, 0xfe,
  0xff, 0xff, 0x90, 0x8d, 0xb4, 0x26, 0x00, 0x00, 0x00, 0x00, 0x55,
  0x89, 0xe5, 0x83, 0xec, 0x08, 0xc7, 0x04, 0x24, 0x02, 0x00, 0x00,
  0x00, 0xff, 0x15, 0xcc, 0x50, 0x40, 0x00, 0xe8, 0xa8, 0xfe, 0xff,
  0xff, 0x90, 0x8d, 0xb4, 0x26, 0x00, 0x00, 0x00, 0x00, 0x55, 0x8b,
  0x0d, 0xe4, 0x50, 0x40, 0x00, 0x89, 0xe5, 0x5d, 0xff, 0xe1, 0x8d,
  0x74, 0x26, 0x00, 0x55, 0x8b, 0x0d, 0xd8, 0x50, 0x40, 0x00, 0x89,
  0xe5, 0x5d, 0xff, 0xe1, 0x90, 0x90, 0x90, 0x90, 0x55, 0x89, 0xe5,
  0x5d, 0xe9, 0x57, 0x02, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90,
  0x90, 0x90, 0x55, 0x89, 0xe5, 0x83, 0xec, 0x08, 0xc7, 0x04, 0x24,
  0x00, 0x30, 0x40, 0x00, 0xe8, 0x6e, 0x05, 0x00, 0x00, 0xc9, 0xc3,
  0x55, 0x89, 0xe5, 0x83, 0xec, 0x08, 0x83, 0xe4, 0xf0, 0xb8, 0x00,
  0x00, 0x00, 0x00, 0x83, 0xc0, 0x0f, 0x83, 0xc0, 0x0f, 0xc1, 0xe8,
  0x04, 0xc1, 0xe0, 0x04, 0x89, 0x45, 0xfc, 0x8b, 0x45, 0xfc, 0xe8,
  0x57, 0x04, 0x00, 0x00, 0xe8, 0xf2, 0x00, 0x00, 0x00, 0xe8, 0xbd,
  0xff, 0xff, 0xff, 0xc9, 0xc3, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  0x90, 0x90, 0x90, 0x90, 0x90, 0x55, 0xb9, 0xf0, 0x30, 0x40, 0x00,
  0x89, 0xe5, 0xeb, 0x14, 0x8d, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x8b,
  0x51, 0x04, 0x8b, 0x01, 0x83, 0xc1, 0x08, 0x01, 0x82, 0x00, 0x00,
  0x40, 0x00, 0x81, 0xf9, 0xf0, 0x30, 0x40, 0x00, 0x72, 0xea, 0x5d,
[0x00400220]>

com o comando p= da uma saida que nao entendi nao '-'

Código:
[0x00400220]> p=
         _________________
00 0055 |                |__________
01 0089 |                           |__________________
02 00e5 |                           ___________________|
03 0083 |                          |____________________
04 00ec |  _____________________________________________|
05 0008 | |______________________________________
06 00c7 | ______________________________________|
07 0004 ||______
08 0024 | ______|
09 0001 ||
0a 0000 ||
0b 0000 ||
0c 0000 ||__________________________________________________
0d 00ff |     ______________________________________________|
0e 0015 |    |____________________________________
0f 00cc |                ________________________|
10 0050 |             ___|
11 0040 | ____________|
12 0000 ||______________________________________________
13 00e8 |                                        ______|
14 00c8 |                                       |__________
15 00fe |                                                  |
[0x00400220]>

com o comando pwd ele mostra o diretorio

Código:
[0x00400220]> pwd
C:\Users\fts315\Desktop
[0x00400220]>

existem muitas outras opçao alem dessas ^^

by kõdo no kami

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos