hola
estaba estudiando con los videos de security training, pero me surgio una duda sobre el uso de funciones y el stack
voy a poner un ejemplo de como es que yo entiendo que trabaja esp y ebp, para utilizar funciones
push 12
push 20
---------------------
|12| 12 bytes <<-------------
|20| 8 bytes <<-------------
|ret| 4 bytes <<-------------
--------------------------
call suma
----------------------------
suma:
push ebp
|12| 12 bytes <<-------------
|20| 8 bytes <<-----------------------
|ret| 4 bytes <<-------------
|EBP| - antigua direccion <<-------------
--------------------------
mov ebp, esp
|ret| 4 bytes <<-------------
|EBP| - antigua direccion - 4 bytes <<-------------
|12| 8 bytes <<-------------
|20| 12 bytes <<-------------
mov ah, 1
mov bh, 4
mov cx, [ebp - 8]
mov dx, [ebp - 12]
add cx, dx
int 0x80
--------------------------
mov esp, ebp
|12| 12 bytes <<-------------
|20| 8 bytes <<-------------
|ret| 4 bytes <<-------------
|EBP| - antigua direccion <<-------------
-------------------------------
pop ebp
|12| 12 bytes <<-------------
|20| 8 bytes <<-------------
|ret| 4 bytes <<-------------
---------------
salida del programa
mov ah, 1
int 0x80
--------------------------
espero me puedan decir si estoy bien, o estoy equivocado, y ojala alguien pueda explicarme como funciona en realidad
salu2
No entiendo tu código, es imposible que te ensamble. Podrías formular correctamente cual es tu duda?
no es un codigo completo, solo intento saber si estoy usando de forma correcta EBP y ESP, el codigo lo puse como seguimiento de la explicacion, y solo necesito saber si mi explicacion es correcta
push ebp
mov ebp, esp
mov esp, ebp
pop ebp
en otras palabras, "teoricamente", estoy entendiendo como funciona EBP y ESP en el stack?, si quieren no vean el codigo, mi duda esta en medio de "| |"
si estas bien amigo sigue asi y seras alguen en la vida ;D
Citarsi estas bien amigo sigue asi y seras alguen en la vida ;D
jajaja ok gracias ;D
Doy por solucionado, cualquier cosa mandame un mp que lo vulevo a abrir si aun te quedan dudas :)
Saludos