Karpoff Spanish Tutor

Programa: TechFacts 98 V2.33


 

PROTECCION: Trial 30 dias, Name / Serial
Descripcion: Excelente herramienta para spyar cualquier proceso de nuestra maquina
Dificultad: Novato
DOWNLOAD: http://www.winutils.com/tekfct98.htm
Herramientas: W32Dasm & Editor Hexadecimal
CRACKER: karpoff   FECHA: 14/08/99


 

    INTRODUCCION

## Tutorial de Crackeo Para Newbies desde Cero 14/08/99

PROYECTO 3    Por Karpoff 
 
 

TechFacts 98 V2.33

Hola nuevamente!! Un saludo para todos los que seguís esta serie de Manuales Para Newbies desde Cero, (Hola Búho se que estas ahí J ).

El programa que he escogido hoy puede sernos de gran ayuda a la hora de seguir procesos de ejecución de las librerías de cualquier programa que estemos ejecutando, es una herramienta mas para nosotros. Podéis cojerlo de

http://www.winutils.com/tekfct98.htm

Este Programa nos da 30 días para Evaluarlo, Pasado ese tiempo no se lo que ocurre. al ejecutarlo nos muestra una pantalla super llamativa con dibujitos de tarjetas de crédito ( es horrible ).

Acudiendo a Help About nos da la opción de meter un N/S para registrarlo

Ataques, Localizar la rutina que se encarga de verificar si el n/s que hemos metido es correcto y manipularla para nuestro beneficio, o bien eliminarla si es posible, también podemos localizar el punto exacto donde compara nuestro n/s con el verdadero y capturar el verdadero,

Como en los manuales anteriores optaremos por la primera ya que podemos localizar la parte del código que nos interesa con un listado muerto ( Programa desensamblado que se puede acceder a cualquier parte del código sin necesidad de estar ejecutando el programa ) que es lo que nos mostrara el W32Dasm cuando desensamblemos el ejecutable.

Herramientas las de siempre el W32Dasm y un Editor Hexadecimal el que mas os guste en mi caso utilizare el Workshop32.


 
 

         AL ATAKE

Empezamos lo Primero hacer una copia del Ejecutable para poder aplicar los cambios cuando localicemos los Bytes a manipular, en la misma carpeta donde hemos instalado el programa podemos hacer una copia de Tekfct98.exe con el nombre que queramos por ejemplo Crack98.exe o podemos crear una carpeta nueva y copiar todos los archivos de una a otra. ( lo de copiar todos los archivos es porque si copiamos el ejecutable solo no funcionara ya que utiliza alguna librería propia como Tekwatch.dll etc. ) Ejecutamos el W32Dasm y desensamblamos Tekfct98.exe seguidamente editamos con el HEX la copia del ejecutable.

Vamos a ver como se comporta el programa cuando intentamos registrarnos, ejecutamos vamos a help, about enter key register y rellenamos con los datos que queramos aceptamos y como era de esperar una ventanita que nos dice que la hemos cagado ( Registration Key Failed ) para nosotros es una buena respuesta ya que por ahí le atacaremos, vamos al W32Dasm e intentamos localizar la cadena de texto que nos ha contestado, para ello ya sabéis pulsar [Strn-Ref] se abré la ventana con todas las cadenas de texto que utiliza el programa para comunicarnos lo que sea y la buscamos, una vez localizada hacemos doble clip ya de paso fijaros que justo encima hay una frase que nos daría el aviso si nos hubiese aceptado el n/s esto me sugiere que no vamos a tener ningún problema para petar este programa, bueno íbamos por hacemos doble clip en la frase y saltamos de inmediato a: 

  • Posible StringData Ref From Code Obj ->"Registration Key Failed!" 

                   | 

     :0047999E B8089B4700 mov eax, 00479B08

     :004799A3 E81C8EFCFF CALL 004427C4

Os recuerdo que siempre debemos comprobar si hay mas llamadas de otra parte del código a esta frase ósea que volvemos a clicear otra vez sobre la frase, en este caso no hay mas. Bueno pensemos para que se imprima este mensaje  el programa ha tenido que hacer alguna llamada o algo así a esta parte del código, hechemos un vistazo, y justo encima vemos lo contrario la referencia a la frase Registration Key Acceptedque bonito suena esto, yo al ver que están tan cerca una frase de la otra lo único que pienso es que la parte del código que hace que se activen estos mensajes tiene que ser sencilla del tipo una sola comprobación si el n/s es correcto el código se sigue ejecutando si es incorrecto salto al mensaje de error o viceversa ósea que todo queda resumido a un salto después de una comprobación, pues busquemos por encima de los mensajes, vemos enseguida dos saltos juntos que son

:0047997C E9CB9DF8FF jmp 0040374C

:00479981 EBFO Jmp 00479973

pero fíjaros en las direcciones de los dos saltos, los dos saltan pase lo que pase hacia arriba de los mensajes, yo buscaría un salto que viniese de arriba y que según el valor que lleve pueda imprimir un mensaje o el otro ósea que si falla se saltara el mensaje de Reg Key accepted pero no el de Reg Key Failed y si el N/S es correcto se encontrara con Reg Key accepted sin llegar a Reg Key Failed , no se si lo entendéis... ( Esta es la manera en la que yo creo que funciona el programa,  mis conocimientos de ASM son Cero Patatero ) entonces busquemos el salto con las características explicadas miramos hacia arriba seguimos subiendo mas mas mas mas y en

:00479881 E832A0F8FF CALL 004040B8 ---- Rutina de comprobación

:00479886 0F850B010000 jne 00479997 ----- Este es

:0047988c 8D45E8 lea eax, dword ptr [ebp-18] 

Lo veis ??? si el salto se ejecuta salta encima del mensaje de no reg pero ya se ha pasado el de si regósea que lo único que nos puede mostrar es lo que nos mostró cuando intentamos registrarnos anteriormente, solo nos queda cambiarlo para que no salte.

Si os fijáis este salto es distinto a los que hemos visto los otros manuales

74 = je

75 = jne

eb = jmp

el funcionamiento es el mismo, la codificacion hexadecimal depende de la direccion de memoria a la que apunte el salto, cuanto mas lejos mas bytes ocupara, los cambios son

OF84xxxxxx = je

OF85xxxxxx = jne

E?xxxxxxxx = jmp

Osea que si el salto era 00479886 0F850B010000 JNE 00479997

Lo cambiamos por 00479886 0F840B010000 JE 00479997

Para hacer los cambios vamos al editor Hex , os habéis fijado en la dirección del offset??, os acordáis como localizarla?? Lo repito en la barra de estado del W32Dasm tenemos barios datos entre ellos uno que pone @Offset siempre que tengáis que hacer algún cambio a un programa tendréis que fijaros en la dirección que marca el Offset, para luego poder localizarlo en el HEXedit. Pinchamos con el ratón la línea del salto, y se ilumina con color verde ahora podemos ver la dirección que marca el Offset que en este caso es 00078C86h, vamos el editor seleccionamos la opción Goto (llamar) y metemos la dirección, no hace falta poner los ceros y la [h] del final no se pone ósea que 78c86 aceptamos y nos lleva a ECE8 32A8 F8FF 0F84 0B01 0000 8D45 E8BA En rojo nuestro código y en resaltado el cambio que ha sido 85 por 84 ya solo nos que salvarlo y ejecutarlo realizamos la operación de registro y Conseguido..... estamos registrados !!!, Incluso si ejecutamos el ejecutable original ahora también nos sale como registrado y es que este es otro programa que guarda los datos en SYSTEM.dat ( el registro de Windows ).

Como de costumbre espero que lo entendáis y que os sea de utilidad.

Un Saludo a TOD@S. (Karpoff)

Este material es solo para uso educativo, por ahora los cracks son ilegales. 

Email Kf_karpoff@hotmail.com

URL: http://welcome.to/karpoff  http://members.xoom.com/kf_karpoff


 

Karpoff Spanish Tutor: Pagina dedicada a la dibulgacion de informacion en Castellano, sobre Ingenieria Inversa y Programacion. Email "Colabora con tus Proyectos"
www.000webhost.com