Ke hay gente, el tema ke vamos a tratar a continuacion es sobre como podemos empezar a crackear programas, el ejemplo ke pondre esta vez lo obtuve de la pagina de DAIMON pero ahora estará con mis palabras, acontinuacion aprenderomos si es ke no saben
como pueden destruir la puerta de entrada de un programa, si, ke por lo regular te piden un login y un password, tu le das el login correcto, el password correcto, presionas registrar y listo el programa es tuyo, klaro esto despues de ke lo hayas comprado :)
pero ke tal si tomas el programa, le pones un login y un password ke tu kieras le das registrar y Hooo santas computadoras endemoniadas batman, te sale un mesaje ke dice: "Su producto ha sido registrado" el programa es tuyo, ke tal he, ¡interesante no?
solo es cuestion de tomar el programa, despedazarlo hasta la raiz y atacar de la mejor forma ke ha existido siempre en la historia, "Desde adentro".

Esto es mas sencillo de lo ke parece, claro, solo rekiere de algo de concentracion y un
poko de inteligencia, para poder empezar en una guerra primero ke nada necesitamos las armas verdad?, bueno pues para el ejemplo ke pondre a continuacion solo necesitaremos dos armas simples pero kon un gran poder ke son
un desensamblador y un editor hexadecimal, ¿ke es esto y para ke me sirve?, los veremos mas adelante. En esta ocacion utilizaremos el desensamblador "w32dasm" y el editor hexadecimal "Hacker View" si no tienes estos programas
puedes encontrarlos en la seccion de programas, tema Seguridad, solo entra y bajatelos ok.

Bueno, ahora ya tenemos las herramientas, pero ¿ke vamos a hacer con ellas?, se supone ke las bamos a utilizar para crackear programas verdad, pero esto es imposible,
recuerden ke todo lo ke hay aki es con fines educativos, y solo es para saber hacer las cosas, no para hacerlas, por lo kual no me hago responsable de kualkier kosa ke hagan con lo ke aki
aprenderán, y como crackear programas es contra la ley, no podremos hacerlo.

Pero no se desnime jeje, les tengo una sorpresa, hay kien primero ke nosotros se topo kon este problema, y lo soluciono satisfactoriamente,
¿como?, bien, lo ke pasa es ke como lo de crackear programas es ilegal, pues estos amigos krearon sus propios programas hechos especialmente para eso,
para ser crackeados, con los kuales se puede praktikar y praktikar, hasta ke seas todo un experto en la materia, estos programas se llaman "crackmes"
y puedes encontrar varios de ellos en la web, despues de aprender como crackearlos, cada uno de ellos se convertira en un reto para ti.

Bueno despues de tanto rollo pongamonos en accion, empieza lo interesante ;)
Primero ke nada, el crackme ke utilizaremos esta vez será el Zebra (puedes encontrarlo en la misma seccion ke las otras herramientas).

Bueno abran bien los ojos mis amigos, tratare de ser lo mas explicito posible, ok?

Nota: Espero ke en este momento ya tengan los tres programas ke les dije, descomprimidos, y en una carpeta cada uno, aunke seria mejor ke el crackme lo pongan en la misma carpeta ke el editor hexadesimal.

Para ke se den cuenta de como funciona esto, primero ke nada abramos el Zebra, ke es una simulacion de algun programa real, ke necesita clave para el registro.
Lo primero ke nos muestra es una pekeña ventana donde nos pide el login el password, y tiene tres botones ok, como seria en un programa real si no tenemos los datos correctos, no funcionaría, y en este caso,
nos manda un mesaje como este "Sorry... the serial isn´t correct" ke kiere decir ke la cagamos y ke no podremos usar el programa (eso es lo ke el kree jeje ;) ).

Paso uno: Abran el w32dasm (el desensamblador).
Ya ke esta abierto, en el menu de arriba den clic en Disassembler/ Open file to Disassemble/ y seleccionan el Zebra (y da clic en abrir).

Pude ser ke mires puros simbolos y signos raros, eso es porke no tienes seleccionado el tipo de letra, solo tienes ke kambiarlo, en el mismo menu
Disassembler/font/selectfont y selecciona una (por decir Arial).

Ahora si, ya tienes ante tus hojos todo el codigo desensamblado del Zebra.
¿y en ke konciste este?
El lenguaje ensamblador contiene Saltos condicionales, incondicionales, comparaciones entre registros y mas, pero ¿ke es esto?
Este lenguaje maneja varios comandos entre ellos podria nombrar:

jmp address Este comando sería por sus iniciales en ingles Jump, ke significa Salto y es un salto incondicional.
jne addreess Este significa "Jump not equal", ke seria, "Salta si no es igual", este ya es un salto condicional debido a ke pone condiciones para saltar.
je address Este significa "Jump equal", Ke sería, "Salta si es igual", tambien es condicional.
cmp reg, reg Este es solo una comparacion.
test reg, reg Este es un comando de ke prueba.
mov a, b Este significa mover.

Lo ke mas vamos a usar son los tres primeros ok?.

Ok, si regresamos un pokito, podremos recordar ke al abrir el zebra y darle registrar nos mandaba un mensaje ke decía "Sorry... the serial isn´t correct"
esto dibido a ke no tenemos el login y password korrectos. Bueno para lo siguiente tienen ke tener algo de logica de programacion (pensar como programadores).

Para realizar esta ventana de password primero se tiene ke poner una condicion ke diga, si el password es igual a EQUIX, entrar al programa, si no, mandar mensaje de "Sorry... the serial isn´t correct" (ke es nuestro caso)

Pero kien contaba con ke tenemos un desensamblador?, bien, ahora como tenemos un texto clave (Sorry... the serial isn´t correct), solo tenemos ke buscarlo en el condigo del Zebra, Nos vamos al menu de arriba, Search/findtext,
y ahi escribimos esto: "sorry... the serial" (sin las comillas) y le damos buscar, inmediatamente no encuentra el texto dentro del codigo (ahora podemos cerrar la ventana de buscar), bien, he dicho ke encuentra el texto dentro del codigo
pero en realidad nosotros no podemos verlo, si ves el menu en la parte de arriba, en donde dice Refs, das clic despues en String data references, podremos ver los textos ke utiliza este programa, dentro de los cuales esta "Sorry... the serial isn´t correct"
si damos doble clic en el no lleva exactamente al mismo lugar ke con la buskeda. (ya me esta dando sueñooo, perdon eske son las 3 de la mañana :O )

:004012FB 6801324000 push 00403201

Este es un numero hexadecimal, el cual esta en el lugar del string (string= a cualkier texto se le llama string en programacion) "Sorry... the serial isn´t correct".

Como podemos observar arribita de el, dise con letras verdes "Possible String Data Ref"
Con eso nos indica ke puede ser ke esos numeros hexadecimales se refieran a un texto.

Bueno pues alegrence ke ya encontramos la ventana donde nos dice "Sorry... the serial isn´t correct", kiere decir ke estamos cerca del salto condicional (donde compara si esta bien el password).
Ahora lo ke tenemos ke hacer, es empezar a subir, con la flecha del teclado ke aputa arriba, dando dos veces a la flecha kedamos exactamente
en el titulo de la ventanita de "Sorry... the serial isn´t correct", ke decia "mmmmm :P"
:004012f6 68f6314000 push 004031f8

seguimos subiendo, mas arriba encontraremos el numero haxadecimal de la ventana ke dice "Congratulations, you have cracked" ke es el texto ke no saldrá si logramos crackear el programa.
:004012E5 6830324000 push 00443230

Esto kiere decir ke estamo mas cerca del salto condicional, por eso seguiremos subiendo.
Todos los saltos comienzan con la letra "J" y al momento de estar en uno de ellos la barra se pone de color verde fluorecente.
Exactamente Diez espacios hacia arriba llegamos al salto condicional, Al fin, empezaremos la accion de nuevo, como pueden ver la barra cambia de color
estando posicionados en el salto condicional ke en este caso es un je (jump equal, ke si el password ke damos es igual?, ke si esta bien?, en caso de ke eso
sucediera, el salto entraria al programa, o en este caso al mensaje de "you have cracked", pero como el password no es igual o correcto pues nos manda al mensaje de "Sorry... the serial isn´t correct")
para poder ver esto solo tenemos ke dar a la flecha del teclado hacia la derecha(estando posicionados en el salto condicional, con la barra de color verde fluorecente).
Nos lleva directo al mensaje de "Sorry... the serial isn´t correct". Pero ¿ke pasaria si cambiaramos el salto condicional JE por un JNE (jump not equal) ke este le diria a la makina, "si el password NO ES IGUAL(no es correcto) entra al programa" Sencillo no?

Bueno ahora toca el turon de hacer el cambio de salto JE a salto JNE.
Primero nos posicionamos en el salto condicional (donde la barra se pone de color verde), miramos en la barra de estado del desensamblador(es la ke esta amero abajo) y vemos ke dice: @offset 000006DCh, anota ese numero en algun lado porke eso es todo lo ke andabamos buscando con el desensamblador.
ya ke tienen el numero pueden cerrar el desensamblador.

Le ha llegado la hora al editor hexadecimal, ahora a llegado el momento de hacer el crack.

Bien, pues como primer paso será, Abrir el Hiew (editor exadecimal), ya ke lo abrimos bucamos ahi el Zebra (zebrone.exe), si pulsamos F1 ponemos ver la ayda del editor (pero ahsta ahor no le necesitmaos).
Ya ke estamos posicionados en el zebra presionamos la tecla Enter.
Y ke pedo kon todos esos signos?, esos signos es texto.
ok ahor lo ke vamos a hacer es lo siguiente, vamos pulsar F4 y seleccionaremos la opcion Decode, con esto podremos ver los comandos en lugar del texto.
Bueno ya estamos en los comandos, ahora, recuerdan ke apuntamos un offset 000006DCh bueno, este offset es la direccion en ke se encuentra el salto.
Ahora pulsamos F5 escribimos la direccion del salto 000006DCh, pero sin la ultima "h", kedaria de esta manera 000006DC, lo apuntamos y pulsamo enter.
JAJAJA Amigos pero alegrense, ke no ven ke estmos exactamente en el salto?, donde nos marka un 74, y mas al frente en el mismo renglon podemos ver el salto ke en este kaso es un "je" el cual keremos kambiar por un "jne.
Bien para cambiar un salto es muy sencillo, solo se le agrega un valor mas, por ejemplo si tenemos 74 le sumamos uno nos da 74+1=75 el valor ke tenemos ke asignarle es el 75, ¿pero como haremos esto?
Pues ya ke podemos ver el salto pulsamos F3, ahora podemos editar el numero, asi es ke escribimos sobre el 74 un numero 75, ke bien, observen como cambia inmediatamente el nombre del salto de "je" a "jne", ya kasi esta crackeado.
Ahora solo pulsamos F9 para grabar la accion, y F10 para salir.
Abrimos el Zebra, escribimos el password ke keramos, damos registrar, y ¡FELICIDADES!, este programa no ha podido contra nosotros, ahora el programa es tuyo men.
Como pueden ver ahora en vez de la fastidiosa ventanita ke dice ke esta mal el password, nos muestra una ke dice "Congratulations, you have cracked", ke kiere decir, "Felicidades, lo has crackeado"
Lo ke sucedio aqui es ke al momento de camibar el salto, ahora cada vez ke pregunte el password si este es igual (correcto), no va a entrar, pero si este no es igual(no es correcto), si va a entrar, ven?, lo ke pasa es ke kambiamos la condicion.

Al fin hemos crackeado nuestro primer programa, ke en este kaso fue un crackme ya ke crackear algun programa comercial aunke muchos tengan la misma proteccion ke este crackme ¡esta fuera de la ley!, pero sigan practicando, hay muchos mas crackmes en la web ke pueden ser mas dificil, pero asu vez mas emocionante, no creen?.

Bueno espero ke ya tengan aprendido bien esto (y ke haya sido explicito, si no le entendieron mejor desen un balazo), hasta aki los dejo, porke ya me voy adormir, son casi las 4am, ke loco y todo por ke.. chiiingado.. no se ni porke, bueno nos vemos, no dejen de visitar esta seccion, ya ke despues pondre mas ejemplos.

Nos vemos

Atte: «(.·°¯`·->Vå£Hå¢k <-·´¯°·.)» ;)

Hosted by www.Geocities.ws

1