Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: TrashAmbishion en 8 Agosto 2013, 00:24 am



Título: Expliquenme bien lo que se hace aqui !
Publicado por: TrashAmbishion en 8 Agosto 2013, 00:24 am
(http://s22.postimg.org/ro6dxghch/image.png)

He logrado detectar varias operaciones que hace, pero no comprendo lo que sucede con la instruccion DIV, gracias de antemano.

Salu2


Título: Re: Expliquenme bien lo que se hace aqui !
Publicado por: Flamer en 8 Agosto 2013, 01:38 am
no estoy muy seguro por que nesesito estar traseando yo, ya que soy medio bruto para a prederme lo basico pero te digo creo que lo divide con eax fijate cuanto vale eax y cuanto vale ebx y si cambean los registros

saludos flamer


Título: Re: Expliquenme bien lo que se hace aqui !
Publicado por: .:UND3R:. en 8 Agosto 2013, 18:46 pm
IDIV = realiza una división entre dos números con signos.

Cuando se divide por un valor de 8 bits, posee la siguiente estructura:
Dividendo: AH
Divisor: r/m8 (registro de 8 bits o un valor inmediato)
Cociente: AL
Resto: AH

Cuando se divide por un valor de 16 bits, posee la siguiente estructura:
Dividendo DX:AX
Divisor r/m16
Cociente:AX
Resto: DX

Cuando se divide por un valor de 32 bits, posee la siguiente estructura:
Dividendo: EDX:EAX
Divisor: r/m32
Cociente: EAX
Resto: EDX

Cuando se realiza una división con signo (IDIV), se debe extender el signo, por ejemplo si en EAX introducimos un valor negativo, este debería extenderse hasta EDX, para que el dividendo simbolice el valor deseado, para ello se usan las siguientes instrucciones:

CBW, CWD y CDQ

Convert byte to word, convert word to dword, convert dword to qword.

En otras palabras se está extendiendo el signo de EAX, en EDX y luego se está dividiendo por EBX, en donde el cociente será almacenado en EAX y el residuo o resto en EDX.

Espero que se haya podido aclarar, saludos.


Título: Re: Expliquenme bien lo que se hace aqui !
Publicado por: TrashAmbishion en 9 Agosto 2013, 20:48 pm
Muchas gracias por su respuesta hay alguna herramienta o de que forma puedo hacer divisiones con numeros hexadecimales donde me muestre el resultado y su resto....

Gracias


Título: Re: Expliquenme bien lo que se hace aqui !
Publicado por: MCKSys Argentina en 9 Agosto 2013, 21:27 pm
Muchas gracias por su respuesta hay alguna herramienta o de que forma puedo hacer divisiones con numeros hexadecimales donde me muestre el resultado y su resto....

Gracias

La calculadora de windows???  :P


Título: Re: Expliquenme bien lo que se hace aqui !
Publicado por: karmany en 10 Agosto 2013, 10:53 am
Muchas gracias por su respuesta hay alguna herramienta o de que forma puedo hacer divisiones con numeros hexadecimales donde me muestre el resultado y su resto....

Gracias

También podrías preparar un código en ensamblador y lo pegas en OllyDBG