Descargas: Ingeniería Inversa by Gerza
Ingeniería Inversa by Gerza
Añadido por LUK - 27-11-2007
¿En que consiste el cracking ?
Un poco de teoría :-)
Los programas pueden estar escritos en muchos lenguajes de programación (pascal, c, delphi, visual basic...). Cuando los compilamos y los hacemos ejecutables para poder usarlos, el compilador de turno interpreta las instrucciones que hemos escrito y las pasa a un lenguaje mas universal : el lenguaje ensamblador (ASM).
Este lenguaje binario esta compuesto únicamente por unos y ceros, es decir por números, y como tales pueden ser expresados de distintas formas (decimal, hexadecimal, binario octal etc.). Dada la constitución interna de las computadoras, el formato mas cómodo es el hexadecimal (aunque internamente los datos/cálculos los guarda/ejecuta en binario)
Cuando abrimos un ejecutable con un editor de texto solo vemos caracteres extraños, pero si abrimos ese mismo ejecutable con un editor hexadecimal, lo que vemos son números hex. Cada uno de esos números es un byte, por ejemplo la cadena ascii GERZA contiene 5 bytes, que expresados en hexadecimal serían 47 45 52 5A 41 :
Hexadecimal : 47 45 52 5A 41
ascii G E R Z A
Binario : 1000111 1000101 1010010 1011010 1000001
El ASM como cualquier otro lenguaje tiene sus propias instrucciones y estas instrucciones están relacionadas con los bytes que ves en el editor hex. Por ejemplo :
Instrucción ASM Nº Hexa Nº Bin Significado
NOP = 90 = 10010000 = no hace nada
RET = C3 = 11000011 = retorna de una llamada
PUSH EAX = 50 = 10100000 = coloca eax en la pila
Pues bien, el arte de crackear consiste en modificar ciertos bytes (y lógicamente las instrucciones asociadas a ellos) para que el programa haga lo que nosotros queramos, y no aquello para lo que originalmente fue diseñado
Imagenes
Comentarios
Todavía no hay comentarios. |