[eside-ghost] Una de ensamblador

Arkaitz arkaitzj en gmail.com
Sab Dic 27 12:22:21 CET 2008


Buenas,
Feliz simulacro de amor a todos.

Estoy debuggeando un programa en GNU/Linux y me he encontrado con una
cosilla.
El caso es que en un momento dado se llama a esta funcion que aparece aqui,
si os fijais, en la linea 804a694 esta cargando en $esi algo de la stack que
se supone que acaba de reservar y deberia estar vacia, el caso es que he
hecho el camino a la inversa, y ese 2 que se carga ahi existe desde antes de
la rutina libc_start_main, no tengo ni idea de lo que es, aparentemente no
es ni el numero de argumentos ni nada asi.
Alguna idea?

 804a680:   55                      push   ebp
 804a681:   89 e5                   mov    ebp,esp
 804a683:   57                      push   edi
 804a684:   56                      push   esi
 804a685:   53                      push   ebx
 804a686:   81 ec 6c 25 00 00       sub
esp,0x256c                                           // Reserva espacio en
la pila
 804a68c:   89 85 b4 da ff ff       mov    DWORD PTR
[ebp-0x254c],eax                           // Almacena el puntero a char
*argv[] en variable local
 804a692:   8b 00                   mov    eax,DWORD PTR
[eax]                                  // $eax = *$eax
 804a694:   8d b5 c8 fa ff ff       lea
esi,[ebp-0x538]                                      // Carga un 2 de la
pila
 804a69a:   89 04 24                mov    DWORD PTR
[esp],eax                                  // argv[0] binary name
 804a69d:   e8 2e ab 01 00          call   80651d0
<pthread_setspecific en plt+0x1b20c>
// Call R8(argv[0])

Thankas

Arkaitz
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20081227/d86780ae/attachment.htm 


Más información sobre la lista de distribución eside-ghost