Hola a todos!! Vamos a ver como cazar el serial de un programa escrito en Delphi
1º Este Tutorial es de un novato para novatos XD
2º Poner ejecutable en el Peid o similar para ver si tiene alguna protección. En este caso no la tiene
3º Abrir el programa y echarle un vistazo a ver que nos pide, o si podemos sacar alguna información de la ventana de registro del programa.
4º Descargar el programa. XD
http://www.megaupload.com/?d=0RAZ5EE4
Tamaño del archivo: 932.96 KB
En este caso si ponemos un serial no valido no nos salta ninguna ventana, por lo tanto vamos a por el botón, que es la informaciómn que tenemos.
Click derecho y
Una vez nos abra la ventana, “Importante” nos ponemos arriba del todo clicamos en la primera referencia y clic derecho (¿Por que hay que ponerse encima de la primera referencia?. Por que si no olly busca a partir de la referencia en la cual estemos situados, de hay hacia abajo) y buscar la única pista que tenemos, que es el botón OK. Así que buscamos el botón OK y desmarcamos case sensitive, tal que así:
Clickamos OK, y después despacio y uno a uno con search for next o Ctrl.+L buscamos nuestro botón. Aquí esta!! Nos ponemos encima y clicamos con el botón derecho y Set breakpoint on every command. (Poner un breakpoint en todas las funciones que hagan referencia al botón ok)
Cerramos esta ventana y en la ventana principal damos Run F9 y se nos para aki
Bien ahora el método que hice yo, fue ir parando en todos los BP y tracear. Vosotros si queréis, dejar pulsado Run F9 asta que os salga la ventana del programa en la que os pide la clave para registrarse, tal que así:
No ponemos nada y damos OK y se nos para aki:
Una vez ahí empezamos a tracear con F8, y nos fijamos en la ventana register, vamos viendo varias cadenas de números y de letras, ir poco a poco y fijándose en la ventana register y vemos algo sospechoso en la dirección 004C546C
Lo apuntamos, cerramos Olly probamos y confirmamos nuestra sospecha.
En la parte que os dije que dejéis pulsado Run F9 asta que saliera la ventana de registro del programa, yo fui trazando con Run F9 y mirando a ver que hacia el programa en las partes que me parecía mas interesante. (Aunque aun no entiendo mucho pues como dije soy un novato) pero mire en concreto esto:
El programa busca un archivo llamado “license87.lic” que no lo tiene como podemos ver en el programa sin registrar:
Y justo encima un CALL y MOV después otro CMP un TEX AL,AL y un salto JE
Investigad que pasa si invertís el salto, que es donde testea si el archivo existe o no y la condición que tiene que cumplir dicho archivo. Nos os olvidéis del CALL y el MOV que también están encima, podéis entrar con F7 e ir traceando a ver que veis, eso ya os lo dejo para vosotros investigad.
Después de registrar el programa vemos esto:
Fijaos hay algo nuevo el archivo “license87.lic” y dentro, el numero 64 ¿Dónde pide la longitud, o lo que pida el programa?
Bueno pues con el serial, o copiando ese archivo al programa queda registrado. También si investigáis hay otro sitio que se puede invertir el salto, te pedirá serial y metas el que le metas lo acepta y crea el archivo “license87.lic”,
Un saludo a todos y espero vuestros apuntes
PD: Ya se que seguramente hay formas mejores de hacerlo y mas rápidas, si no preguntad a PeterPunk77 a tena o a MCKSys Argentina SIEMPRE SIN MENOSPRECIAR A NADIE, pero un novato como yo por ahora se busca la vida con lo que sabe que no es mucho.