Problema con el texto de Rojodos

Iniciado por leucocito, 22 Diciembre 2010, 15:24 PM

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

leucocito

Pues eso que me estoy leyendo el texto de rojodos que me parece un grandisimo manual sobre la iniciación en el mundo de los exploits y las shellcodes...Y mi problema es que me he quedado atrancado en este lugar del texto y no me gustaria seuir sin antes enteder a la perfeccion que es lo que significa.

pd;Decir que el texto por lo que he leido esta muy muy muy bien explicado pero eso no quita que yo sea cerrado de mollera xd.

Por favor si alguien pudiera explicarme detalladamente o de un modo mucho mas esquematico se lo agradeceria con ansias.El texto sin mas preambulos es el siguiente:




1º Llegamos al call (EIP apunta a la instrucción call)
2º Se ejecuta el call. EIP apunta a la instrucción del call, es decir, donde
debemos ir)
3º Se guarda la siguiente instrucción después del call en la pila (el ret)

En ese momento, la pila esta así:
ESP | RET ADDRESS | EBP -8bytes
ESP +4bytes | argumento 1 | EBP -4bytes
ESP +8bytes | argumento 2 | <--- EBP apunta aquí (la base de la pila)

4º La cpu ejecuta la/las instrucciones dentro de la función suma (obviamente,
dentro de la función suma se usara la pila para almacenar datos y demás...)
5º La función suma alcanza la instrucción RETN (retorno), y EIP recoge la
dirección RET ADDRESS, y vuelve al programa principal, justo después del call
suma.


salu2!

OssoH

Puedes pasarme el enlace por favor de donde descargarlo??
Gracias!!

leucocito

mmmmmEl texto lo encontre por el foro y es ahora cuando me e puedo manos a la obra en esta rama de bugs y exploits,el texto como he dicho no lo e podio encontrar en el foro.pero de todos modos te dejo un enlace externo que esta el tuto


http://www.todopsp.com/foros/showthread.php?t=23953



salu2!

M3st4ng

Hola!!!

En los programas de ordenador, cuando una función o procedimiento llama a otro, es necesario que se guarde en algún lugar todos datos que estaba usando antes de realizar dicha llamada para continuar después la ejecución. Ese lugar donde se guardan dichos datos es la pila.
Para no enrollarme a explicar cosas que ya están documentadas, te voy a remitir a un texto que esta muy muy muy bien.Es para Linux, pero te explica todo el mecanismo de funcionamiento de la pila.

http://bajobongo.net/zerro/piotr/publikacje/hakin9/stackoverflow_es.pdf

Salu2

OssoH


leucocito

Muchas gracias amigo por el texto.Saludos y felice noche buena ;)!

pepeluxx

Hace tiempo escribí un doc ampliando la magnifica información de Rodojos e intentando explicar las cosas de forma más clara (si cabe). Podeis verlo aquí:

http://pepelux.org/download.php?f=papers/shellcodes_en_win32.txt

Aprovecho para felicitar a Rodojos por su manual, que me sirvió de base en su día

leucocito

Muchas gracias pepeluxx este documento tuyo lo consegui ayer junto al de RAISE, me quito el sombrero amigo ;)


salu2!