[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