Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Olá pessoal, fiz um pequeno programa em C para tentar entender seu código "disassemblado" :

É necessário se cadastrar para acessar o conteúdo.

 

 

e no gdb o código da função main :

 

É necessário se cadastrar para acessar o conteúdo.

 

consegui entender apenas as duas primeiras linhas(eu acho), coloca o valor de ebp na pilha e depois move ebp para esp e o operador AND não entendi muito bem.

 

O que o registrador ebp e esp guardam? e onde são utilizados os valores utilizados no programa : '0xfffffff0' e '0x10'.

Link para o comentário
https://www.webcheats.com.br/topic/1594986-disassemble-gdb/
Compartilhar em outros sites

EBP = Extended Base Pointer //Geralmente usado como ponteiro para a base da pilha.

ESP = Extended Stack Pointer //Ponteiro para a pilha

 

O que esse procedimento faz é:

1° Prólogo da função

2° Gerar uma "variável local"(esp -= 0x10)

3° Pegar o ponteiro para argv(eax = [ebp+0xC])

4° Pegar o ponteiro para argv[1](argv += 4)

5° Pegar o valor alí contido (eax = [eax])

6° Colocar na stack ([esp] = eax)

7° Chamar a função

8° Retorno

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
https://www.webcheats.com.br/topic/1594986-disassemble-gdb/#findComment-6855969
Compartilhar em outros sites

Dúvida Resolvida!

 

Caro, caso ainda tenha alguma dúvida sobre o assunto e queira adicionar aqui, deixe uma mensagem no meu perfil que reabrirei o tópico.

 

Obrigado à todos que ajudaram.

 

 

Fechado!

Link para o comentário
https://www.webcheats.com.br/topic/1594986-disassemble-gdb/#findComment-6877665
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.