para que sirve LEA y cual es la diferencia con MOV?

Iniciado por Belial & Grimoire, 19 Junio 2012, 03:32 AM

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

Belial & Grimoire

hola

me podrian explicar para que funciona LEA y cual es la diferencia entre LEA y MOV

es que googlendo encontre un poco pero no entendi bien, y pues algo que encontre tambien fue la diferencia de lea y mov pero me quisiera saber si alguien tiene una explicacion mas amplia porfavor

salu2  ;D
.                                 

afdlkglfgfdgfhgf

LEA mueve la direccion de memoria que apunta a un valor y MOV mueve el contenido,

Flamer

hola Belial & Grimoire soy flamer sera un honor ayudarte con lo poco que se bueno enpesemos con lo mas simple sera MOV y para el final LEA
Primero MOV mueve el valor de un registro a otro o asigna el valor a un registro ejemplo 1:
darle valor al registro EAX bueno MOV EAX,5 aqui a EAX le estamos dando el valor 5
5
ejemplo 2:
mover el valor de un registro a otro MOV EBX,EAX aqui estamos moviendo el valor de EAX a EBX lo cual los dos registros tendran el mismo o sea no se borra el valor movido de EBX.

y el final LEA=se usa general mente para mover una direccion de memoria a un registro y no te confundas no mueve el valor que contiene dicha direccion.
ejemplo 1:
mover una direccion de memoria a EAX seria asi LEA EAX,DWORD PTR DS:[12A84F]
ejemplo 2:
LEA EAX,DWORD PTR DS:[ECX+45] su poniendo que ECX=12F410 mas 45 igual a 12F455 que es lo que valdra EAX

bueno eso es lo poco que se y tengo entendido si estoy mal corrijanme, espero aberte ayudado

espero encontrarte por el subforo de ing. inversa

saludos flamer y fue un honor ayudar a la ganadora del concuso "hackeen mi server" que puso dimitri(ya te llego el vino)

Belial & Grimoire

jeje gracias a los 2 por responderme

mmm creo ahora entender porque cuando quise hacer un shell me funcionaron de las dos formas

Código (asm) [Seleccionar]
[BITS 32]

call start

start:

mov eax, cd
push eax
mov eax, 76B4E5FDh
call eax
mov eax, 76B1214Fh
call eax

cd:
db 'cmd.exe', 0


Código (asm) [Seleccionar]
[BITS 32]

call start

start:

lea eax, [cd]
push eax
mov eax, 76B4E5FDh
call eax
mov eax, 76B1214Fh
call eax

cd:
db 'cmd.exe', 0


y pues nop, el vino no me llego, solo era para los que viven en España, asi que le deje la desicion a dimitrix sobre si se lo quedaba el o se lo daba al segundo lugar, no se que habra hecho, ya no pregunte, pero bueno

gracias

salu2
.