Professional Documents
Culture Documents
Hola a tod@s...
Bueno..este pequeo manual surgi como una duda,tras una breve charla con ANTRAX en el irc de
Indetectables....seras capaz de crackearlo me pregunt...?? Le respond que no lo saba..que sera
cuestin de probar a ver que consegua...y aqu estn los resultados.
Este manual constar de dos partes..ahora les explico el porqu...en esta primera parte registraremos
el Perfectkeylogger a mano usando solamente el OllyDbg...en la segunda parte seguiremos la
pista a las operaciones que realiza el programa para crear la clave vlida y crearemos un keygen.
Esta segunda parte tardare un poco en hacerla, pero valdr la pena.
Bueno, manos a la obra... que necesitamos?
1 Perfect Keylogger
2 OllyDbg
3 PEiD u otro detector de compresores
Teniendo las herramientas necesarias vamos a empezar...en primer lugar cargamos el ejecutable en
PEiD para ver si est protegido con algn compresor/encriptador...( ya instalado por supuesto...) lo
cargamos y PEiD nos dice lo siguiente:
Como vemos en la imagen PEiD nos indica que no est comprimido ni encriptado con algn
crypter/packer...y que est compilado con Microsoft Visual C++ 6.0
Ejecutamos el PerfectKeylogger y nos aparece la siguiente ventana...
Pulsamos en Enter Registration Code y nos sale esta otra ventana...
Bien..nos dice que nuestro nombre de usuario o nuestro cdigo no son correctos, pulsamos en
Aceptar , luego le damos al botn Cancel y en la ventana principal donde nos da las opciones de
comprar,registrar o comprar pulsamos en Exit..
Seguimos...abrimos el ejecutable con OllyDbg y le damos al botn derecho y Search For All
Referenced Text Strings y buscamos la cadena que se corresponde con el aviso que nos dio
anteriormente, la vemos aqu...
Si nos fijamos en 0041AF78 Push 40 se empujan los datos para que salte el error y nos muestre
lo que ya conocemos...user o serial no correcto para entendernos...pero ese Push 40 es llamado
desde algn sitio, probablemente desde algn salto condicional...es decir...si se cumple la condicion
salta a otra parte y sino se cumple nos lleva aqu.
Nos situamos encima del Push 40 y vemos desde donde es llamado...nos fijamos que al seleccionar
el Push 40 nos indica que es llamado desde ms arriba...nos desplazamos alli y vemos lo siguiente:
Ah vemos el salto que nos lleva al nefasto mensaje y arriba de este vemos un Call que llama a la
funcin lstrcmpiA de la dll KERNEL32... pero vemos ms cosas...vemos que se le pasan dos
argumentos que en este caso son dos strings o cadenas y las compara, para despus de realizar la
comparacin saltar a un sitio o a otro segn el resultado de dicha comparacin.
Un poco ms arriba se puede ver una cadena en ASCII que parece encriptada o algo parecido y que
posiblemente sea usada no para la comparacin,sino para generar la clave...como??
Pues posiblemente al ir escribiendo nuestro User Name vaya cogiendo los caracteres de uno en uno
y realice alguna operacin para generar la clave vlida...pero eso lo veremos en la segunfa parte de
este manual.
Si nos fijamos despus del Call a la funcin lstrcmpiA se realiza una comparacin en 0041AF03
TEST EAX, EAX , as que vamos a probar..seleccionamos TEST EAX,EAX y pulsamos F2 para
poner un breakpoint en dicha comparacin...y le damos a F9 o Run, ponemos nuestros datos como
hicimos anteriormente en la ventana de registro del PerfectKeylogger y pulsamos OK.
Una vez se detiene el programa en el breakpoint que pusimos vemos que EAX vale 1, quizs si
EAX vale 0 despus de la comparacin salimos registrados o quizs no,pero eso lo veremos en la
segunda parte del manual.
Bien..una vez detenidos en el breakpoint nuestra clave vlida para el usuario cLn, en vuestro caso
para el que pongis...ya ha sido creada y comparada, pero...donde se encuentra??
La clave es guardada en el registro ESP...en el momento de la comparacin ESP vale 0012AD0C
as que si seleccionamos el registro ESP y le damos a botn derecho y Follow in Dump y vemos lo
siguiente:
Ah vemos tanto mi usuario cLn como la clave que puse 1111 2222 3333 4444 y un
poco ms arriba vemos lo siguiente: KMDUAVUARHBDPVQL ..vaya...parece una clave..quizs
sea la correcta...esto mismo se puede ver tambin si estando en el registro ESP lo seleccionamos y
le damos a botn derecho y Follow in Stack y nos aparece tambin nuestra clave falsa y la
verdadera..veamos...
Ah se ven las dos claves de forma ms clara....anotamos la que parece ser nuestra verdadera clave,
quitamos el breakpoint que pusimos..nos situamos encima del breakpoint y pulsamos otra vez F2
para quitarlo,cerramos OllyDbg y abrimos de nuevo el PerfectKeylogger, pasamos a la ventana de
registro y ponemos los siguientes datos..estos en mi caso...
UserName = cLn
Code Registration = KMDU AVUA RHBD - PVQL
Le damos al botn OK y ...miren la imagen...
Saludos ! cLn