Descargas: Ingeniería Inversa by Gerza

Ingeniería Inversa by Gerza

Califica este Archivo
Añadido por LUK - 27-11-2007
Autor Autor Gerza
Tamaño Tamaño 68,4 KB
Descargas Descargas 1.603
+ Descargar
¿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

Ninguno

Comentarios

Todavía no hay comentarios.