Abril 21, 2018, 10:42:18 pm

Autor Tema: Diferente relleno que en el desensamblado  (Leído 880 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado apitalio

  • CPQUE??
  • *
  • Mensajes: 1
    • Ver Perfil
Diferente relleno que en el desensamblado
« en: Octubre 08, 2014, 07:40:13 pm »
Buenos días.
Verán, me estoy iniciando en el tema del exploiting, y el caso es que dependiendo de cada compilador, se añade una cantidad de relleno diferente para hacer el exploit, pues cada compilador lo hace a su manera, pero yo tengo un código que consigo el EIP con 44 de relleno, pero si lo desensamblo, pone que necesito 0x38 (56 decimal) de relleno sólo para llenar el buffer creado. ¿Esto cómo puede ser?

Programa
Código: You are not allowed to view links. Register or Login
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void func(char *arg)
{
char nombre[32];
strcpy(nombre, arg);
printf("Hola, %s\n", nombre);
}

int main(int argc, char *argv[])
{
if (argc != 2)
{
printf("Uso: %s NOMBRE\n", argv[0]);
exit(0);
}

func(argv[1]);
printf("Fin\n");

return 0;
}



Debug
Citar
$ gdb -q ./1
Reading symbols from 1...done.
(gdb) disas func
Dump of assembler code for function func:
   0x080484ac <+0>:   push   %ebp
   0x080484ad <+1>:   mov    %esp,%ebp
   0x080484af <+3>:   sub    $0x38,%esp <------- 56
   0x080484b2 <+6>:   mov    0x8(%ebp),%eax
   0x080484b5 <+9>:   mov    %eax,0x4(%esp)
   0x080484b9 <+13>:   lea    -0x28(%ebp),%eax
   0x080484bc <+16>:   mov    %eax,(%esp)
   0x080484bf <+19>:   call   0x8048370 <strcpy@plt>
   0x080484c4 <+24>:   lea    -0x28(%ebp),%eax
   0x080484c7 <+27>:   mov    %eax,0x4(%esp)
   0x080484cb <+31>:   movl   $0x80485c0,(%esp)
   0x080484d2 <+38>:   call   0x8048360 <printf@plt>
   0x080484d7 <+43>:   leave 
   0x080484d8 <+44>:   ret   
End of assembler dump.
(gdb) run AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNPPPP
Starting program: 1 AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNPPPP
Hola, AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNPPPP

Program received signal SIGSEGV, Segmentation fault.
0x4c4c4c4c in ?? () <--- Esto es LLLL, es decir, está después de poner 44 de relleno


question
Como relleno esa parte?

Iniciado por Fake Smile

0 Respuestas
1990 Vistas
Último mensaje Marzo 03, 2010, 10:45:52 pm
por Fake Smile
xx
Duda con relleno de shellcode

Iniciado por metalerk

3 Respuestas
6305 Vistas
Último mensaje Enero 03, 2016, 01:46:12 am
por metalerk
xx
Un XSS Diferente :P

Iniciado por JaAViEr

7 Respuestas
1445 Vistas
Último mensaje Julio 24, 2011, 01:19:54 am
por EddyW
xx
Batch diferente en Vista que en XP

Iniciado por Manel92

2 Respuestas
1111 Vistas
Último mensaje Marzo 08, 2009, 09:45:01 am
por Manel92
xx
Formulario con diferente forma??

Iniciado por FemBr

1 Respuestas
1713 Vistas
Último mensaje Marzo 26, 2006, 07:12:13 pm
por Cagalas
xx
IP IGUALES EN DOS PC CON DIFERENTE LINEA

Iniciado por jonathan08207

2 Respuestas
1326 Vistas
Último mensaje Junio 07, 2006, 07:43:12 am
por sdrako
question
copiar con diferente nombre

Iniciado por sebas232

8 Respuestas
1581 Vistas
Último mensaje Enero 03, 2010, 04:16:08 pm
por JaAViEr
xx
Condicional para que haya diferente img en un td

Iniciado por Tecleador

1 Respuestas
965 Vistas
Último mensaje Agosto 31, 2013, 12:12:32 pm
por seth
xx
algo diferente al nukeet y los demas ?

Iniciado por mxsoun

6 Respuestas
1664 Vistas
Último mensaje Marzo 16, 2007, 12:08:46 am
por mxsoun
question
Duda de sentencia void, ¿un uso diferente? --- C++ ---

Iniciado por quieroaprender

2 Respuestas
1701 Vistas
Último mensaje ſeptiembre 30, 2011, 05:43:12 pm
por quieroaprender