Anda di halaman 1dari 10

Curso de Cracking By Hackersoft (The Beginning..

)
http://www.hackersoft.net Autor: -=#NaPA#=29 de Octubre de 2003

Bueno vamos a empezar con nuestro primer curso, antes que nada vamos a explicar las bases de esto, este es un curso nicamente con fines educativos mi intencin es hacer que toda la comunidad tenga la capacidad de crackear un programa sin siquiera tener que ir a buscar el crack a que me refiero, es muy diferente cuando uno lo hace a cuando lo hacen los dems, adems la satisfaccin de creerse cracker es muy buena XD. Primero hay que bajar las herramientas bsicas: SoftIce (si pueden conseguir el driverstudio 2.7 o mejor) a huevo. Conocido como la bestia un depurador muy poderoso nos permite ver los registros que estn guardados en memoria para usarlos paso por paso. Ollydbg (m favorito) o un debugger. Este nos permite modificar en memoria el programa para ver que diablos tenemos que hacer me gusta mas que el famoso w98asm o esa cosa porque este no hay que modificarlo sea VB, Delphi, C etc. Hackman 7 (hexeditor/Dissambler) o un Hexedit que ustedes se acomoden. Con este programa haremos las modificaciones necesarias a nuestros programas. Las dems herramientas Irn saliendo en cada curso, como un ejemplo pongo algo que oculte los debuggers de el programa victima por si traen proteccin antisoftice. Listo? Comenzemos!!! Que es el Cracking? Bueno en si el cracking no va mas all de sacar seriales, parchar programas o hacer incluso los keygens del programa, hay desde validaciones muy tontas hasta las que se hacen bastante mas complejas, pero bueno aqu empezaremos de cero, el chiste de hacer el crack va en modificar el programa (o bien sacar el numero de serie valido) que no lleve a la instruccin correcta es decir, el programa tiene 2 opciones pasar a chico malo (chico malo y chico bueno es como los crackers nos referimos a las zonas de pasar la autentificacin) y vali queso es un Trial o pasar a chico bueno si piensa que lo has registrado y darte todo lo de la versin final, cabe destacar que realmente a nosotros no nos importa en que lenguaje esta hecho el programa, es bueno saberlo, pero lo que importa al cracker es si esta empaquetado o no y si esta protegido contra el desensamblaje eso lo veremos mas adelante a fin de cuentas el lenguaje a trabajar aqu es el ensamblador, ya que es a donde nos enfocamos, las instrucciones mas comunes que vamos a modificar y las que aprenderemos primero son: JE Jump if Equal, hace un salto a la direccin destino si el registro comparado anterior es igual. JNE lo contrario de la anterior creo que no es tan complicado verdad? JMP Salta porque salta y ya.

CALL es una llamada a otra direccin en memoria Con eso tenemos por este primer curso, saben todos pueden escribir un programa sencillo en ensamblador es mas!!! Tengo una idea hagmoslo que les parece????

Todos en sus PC (de 2000 para aca) tienen un comando llamado debug (no saban??), entren al Command Prom. Y denle Debug, aparecer una lnea un guin que indica que esta listo para recibir instrucciones bien comencemos: Esto es un ejemplo rpido para introducirlos al cracking. Normalmente debera iniciar en 0100h que es donde deben iniciar los programas .COM ya que debug solo puede generar este tipo de programas, dmosle: a0100 (enter)

Aparecer algo como 0c1b:0100 los primeros cuatro dgitos pueden cambiar, pero los ltimos no. Ahora podemos introducir las instrucciones: - 0c1b:0100 mov ax,0002; Coloca el valor 002 en el registro ax NOTA: AQU USAREMOS REGISTROS A 16 BITS AX BX, YA QUE GENERAREMOS UN .COM PARA NUESTROS PROGRAMAS A CRACKEAR TENEMOS QUE BUSCAR REGISTROS EXTENDED ES DECIR EAX EBX EIP, ETC. BUENO YA? 0c1b:0100 mov ax,0002 ;Coloca el valor 002 en el registro ax 0c1b:0103 mov bx,0004 ;coloca el 004 en bx 0c1b:0106 add ax,bx ;a ax le agreaga el valor de bx 0c1b:0108 int 20 ;Provoca que el programa termine0c1b:010

Bien hemos terminado nuestro primer programa en ensamblador aunque muy basico nos da una idea de cmo trabaja este lenguaje, bien veamos que hace, primero movemos un valor a ax, luego otro valor a bx, luego al valor de ax le sumamos el valor de bx y terminamos el programa con una interrupcin que explicare a detalle en otros cursos. Bien pero ahora como sabemos que en realidad si funciona? Bien veamos si le damos g a nuestro debug Prom. Aparece Program Terminated Normally sabemos que no hubo error pero no podemos estar seguros que si hizo la suma para eso usamos: r (enter)

Aparecer en pantalla todos los registros actuales del sistema y podemos leerlos (noten eso puede ser de utilidad cuando un EAX contenga una comparacin con un numero de serie) Bien todo lo que han hecho lo han hecho en memoria no hay nada en disco y luego les explicare como guardarlo una ves que profundicemos mas en el lenguaje de ensamblador, ahora si como que nos ambientamos as que vamos a darle chile al chango, (DEJA ESE POBRE CHANGO!!) me refiero a que vamos a comenzar el cracking de hoy, La victima Un crack me bastante arcaico que hice en visual Basic (son

5 putas lneas!!) porque en Basic? Porque no quiero que usen el w98dasm una cosa as,,, y en ese no se desensambla VB a menos que lo modifiquemos, bien saquen el archivo crack me que trae el curso y mtanlo en una carpeta. En este curso usaremos algo de lgica y el ollydbg (softice!! I love you!) bien primero que nada abramos el ollydbg y veamos que aparece (ya se la pantalla del ollydbg!!) bueno abramos el archivo crack me les parece?

Ahora estn viendo en la pantalla principal posibles strings con su direccin de memoria y su hexadecimal (que gran ayuda!!) corramos el exe para ver lo que hace.

Bien es un archivo con una caja de texto y un botn. Si damos mal el password ah lo que nos va a aparecer es un mensaje burlndose de nosotros (y se lo merecen no mames esta facilsimo este crack me!), bien vamos a hacer dos tcnicas, una sacar el pass Word aunque no mames esta re fcil esa ya que no mames el password ni lo proteg. Es mas mejor primero va el parche y luego veremos como sacar el password correcto. CRACKEAR Bien aqu lo que hay que hacer es hacer lo que los crackers llamamos Inversin de comandos han alguna ves usado algn crack que les dice que despus de crackear el programa pueden meter cualquier numero de serie y nombre??? Bueno aprendan que esta es la tcnica, se trata de hacer que a la hora que el programa compara el serial valido, con el no valido decida mal, es decir. Programa sin Crack: (piensa): Si comparo serial1, con serial2 y son iguales, programa registrado, si no son iguales, es un shareware. Programa con Crack: (piensa): Si comparo serial1 con serial2, y son iguales programa no registrado, si no son iguales programa registrado.

Espero que hayan notado la diferencia, Bien lo primero que hay que hacer es abrir el crackme y equivocarse, ahora ven el mensaje que les aparece del password errneo? Apntenlo en algn lado.

Ahora estn en su ventana del holly con el crackme de Hackersoft abierto, denle Mouse derecho y denle al men search for, luego all string referentes, ah vern todas las referencias a texto en el programa (casi siempre, luego explico) ahora dense la tarea de buscar el mensaje de error ahorita no interesa nada mas, bien ya lo hallaron?

Casi siempre esta al principio, ahora denle doble clic nos llevara a la instruccin: 00401ee8 PUSH crackme1.004018b8

Bien este mensaje esta ah!!! As que subiremos un poco las lneas a ver que aparece. Vamos viendo que hay muchas pinches instrucciones que seguramente no entendemos no se apuren traten de buscar algn jump o algn test o cmp, bueno para ser exactos nos damos cuenta que arriba hay una referencia al mensaje que debe aparecer con el password correcto (o numero de serie) eso significa que aqu tenemos juntos a chico malo y chico bueno sigamos un poco mas arriva ya que esta es la zona de chico bueno.

Diablos no hay nada que nos indique que rayos es que, hasta que llegamos a un maldito 55 y para arriba solo hay interrupciones bien as que empecemos hacia abajo (no estuvo tan fcil como pens)

Aunque si le saben ya abran visto la respuesta, veamos como seguir este curso, valla encontramos un JGE en la direccin 00401df1

Bien este es un salto que significa Salta si es mas Grande o Igual y trae una direccin para el salto, 00401e05, vamos para all que no esta muy abajo, diablos nada!! Seguimos unas cuantas lneas para abajo debe de haber alguna puta referencia!! Notamos en las operaciones que la maquina empieza a hacer calculos, y mover cosas al eax esto suele ser sospechoso no creen? Bien un cracker tiene que hacer muchas pruebas a veces no es solo un registro el que hay que cambiar hay ocasiones que he tenido que cambiar hasta 15 saltos y algunas llamadas para que el programa funcione bien, pero bueno aqu aprenderemos cosas de esas mas adelante, hey!! Veo un test di, di!!!!!!

Esa instruccin esta testeando di, contra el mismo registro di en 00401e32 abajo vemos un salto sospechoso je short crackme1.00401e99 que dice que salte si es igual a ese registro,,,

mmm vamos al registro a ver que tiene, hey! Notan que al ir a ese registro se salta la zona de chico bueno? Y llegamos a la de chico malo? Esto es lo que queremos evitar, as que regresamos al JE y le damos doble clic, si queremos hacer la inversin hay que hacer que haga lo contrario, es decir, saltar si no es igual cambiamos el JE por JNE y le damos ensamblar quedara en rojo este, ahora esto lo estn haciendo en memoria nada se va a guardar as que apuntemos el cambio que hicimos por si funciona. Quedara algo as:

00401e35 (cambio de je a jne)

Bien corramos la aplicacin desde el men del olly o demos F9 ahora se abri el crackme con la modificacin en memoria, bien demos cualquier palabra x al programa, vuala!!!!! Nos aparece que lo hemos logrado!!!

Esto es porque cambiamos la direccin en la que el programa ejecuta la validacin!! Bien nuestro primer programa crackeado!! Si!!! Hasta yo me emociono de crackear mi propio crackme, ya vieron este ejemplo fcil es para demostrar lo fcil que es la lgica de algunos programas, bien ahora ya vimos que funciona que debemos hacer como buen cracker para guardar los cambios en el EXE bien,, cerremos todo (hey apuntaron la direccin?) bien abran el Hackman o su editor hexadecimal, vayan a la direccin donde esta y vern un 74 que es el equivalente hexadecimal de JE ahora cmbienlo por un 75 que es el JNE, estos valores los pueden ver cuando ustedes hacen el cambio con el ollydbg aparece a su izquierda el valor hexadecimal de la instruccin ahora guarden la copia modificada.

Bien programa crackeado! Pueden hacer bien un programa que compare los dos y cree el crack o bajarlo para una distribucin, eso ya ser de acuerdo a que tanto les haya gustad su crack, y el trabajo que les costo como para que parezca que no lo hicieron (yo programara mi propia crack compare engine..) Bien ahora vamos por la parte fcil SACAR EL PASSWORD Este programa muestra todo en string references es decir que no tiene proteccin ni oculta nada, vieron por ah algo que deca Soy Un Puto Lammer? bueno vean como se mueve address por address y publiquen en la cum el resultado. Adivinan cual es el password????

Espero que este curso introductoria les haya gustado y les sirva, porque lo escrib mientras hechaba la hueva en mi chamba, se lo dedico a los Chavos de G-con que me inspiran a hacer estas pendejadas XDDDDDD. Con este mismo Curso Incluyo un reto sencillo, a ver quien puede hacerlo es bsicamente lo mismo pero esta compilado de otra manera, comontip, esta protegido contra el desensamblaje,,, a ver quien puede con el.. el archivo es reto1.exe

Gracias y Saludos a TODOS!! -=#NaPa#=napa@hackersoft.net www.hackersoft.net Hackersoft Security Networks Mxico Apoyo la colaboracin de mi Jefe aqu en mi trabajo aunque el no lo sabe por su pinch presin ca en estas madres del ensamblador. Gracias al Nitro el tipo mas pndelo que conozco el siempre deca que me enseo todo, espero que mi manual le sirva para aprender a crackear, y que no se quede estancado en la estupidez. BYTES.

Anda mungkin juga menyukai