PDA

Ver la versión completa : Aprendiendo ingeniería inversa, que hace un mov eax, large fs:0?



Faq88
23-09-2014, 00:02
Hola Amigos, este es mi primer post, soy Faq88 me presento ante todos ustedes!

Vi este foro muy interesante, estoy incursionando en la ingeniería inversa y la verdad voy muy de a poco, conozco lo básico de assembler y la verdad me cuesta un poco entenderlo, me encuentro analizando un programa que se comunica con un modém y lo que hace es recibir un número random separado por guiones, por ejemplo XXXX-XXXX-XXXX, y el software gestor lo que haces es generar en base a este número leido/recibido calcular un código de autorización y asi habilitar los comandos ocultos... Utilizando IDA para desensamblar el código y utilizando la función de busqueda por strings llegué a lo que creo los calcula (utilicé la función Flow Chart "F12" para generar el gráfico de la función que creo los calcula)...

Mi duda es la siguiente, que hace un "mov eax, large fs:0"??? Qué es un large fs:0???

Saludos y gracias!

Espero no romper ninguna regla, la verdad no busco que me den la solución, me gusta aprender e investigar!

Editado: Si sirve de algo el código que obtuve con IDA me avisan y lo posteo!

@riel
23-09-2014, 06:58
hola faq88
mov: Es quizá la instrucción más importante en asm si contamos la cantidad de veces que aparece.Su función, es la transferencia de información. Esta transferencia puede darse de un registro a otro registro, o entre un registro y la memoria pero no se hace de memoria a memoria, y también con valores inmediatos teniendo como destino memoria o un registro. Para ello, tendrá dos operandos; el primero es el de destino, y el segundo el de origen. Así, por ejemplo:MOV EAX, EBX Esta operación copiará los 32 bits del registro EBX en el registro EAX

la parte large fs:0 es el valor que toma del registro para enviarlo a eax. si no me equivoco provoca un cambio en la bandera.