Bienvenidos a este nuevo capítulo del curso de cracking, en esta oportunidad lo que haremos será registrarnos en el conocido programa de chat Mirc. Para esto lo que haremos será bajarnos de
**www.mirc.com**∞ el programa, si es que ya no lo tienen, y lo instalamos en nuestra PC.
Una vez que hicimos esto, lo abriremos y nos aparecerá una ventana que dice que nos quedan unos días para que venza el periodo de prueba....mmmmm...interesante, ya que nos indica que hay una rutina para checkear los días que faltan para que expire el programa, la cual podriamos atacar, pero primero a lo primero.
Si vamos a la pestaña HELP del programa encontraremos una opcion que dice REGISTER... , allí lo que haremos será como siempre intentar registrarnos claro está, y aparece un mensaje diciéndonos, "THE REGISTRATION NAME AND NUMBER YOU HAVE ENTERED ARE NOT VALID.PLEASE MAKE SURE YOU ARE ENTERING THE REGISTRATION USING THE CORRECT CAPITALIZATION AND SPACING".
Ok , ya tenemos el mensaje de error que nos arroja al registrarnos como para buscar por donde viene el asunto ;). Lo que haremos será como siempre hoja y lapicera en mano y anotar este descubrimiento, y de inmediato (si es que ya no lo hicieron como sospecho que algunos ya han adelantado ;) ), lo desensamblamos con el Wdasm...
Allí iremos a las referencias de cadena de texto y lo que haremos será encontrar el mensaje de error que nos arroja al registrarnos incorrectamente. La encontraremos en String Resource ID=1909:"...", si hacemos doble click nos arrojara sobre la zona que se corresponde a este mensaje 004C7D34 , le haremos doble click de nuevo para ver si no es llamada desde otra parte, nada solo desde ahí :). Pero aquí lo que haremos será encontrar el que dice que nos hemos registrado correctamente, que se halla una o dos cadenas por encima de la anterior mencionada, y al hacer doble click nos arrojará sobre la dirección de la memoria 004C7C5B .
Con estos datos (que de más está decir que me imagino que todos hemos tomado nota jaja), cerramos el Wdasm y nos vamos a nuestro amado OllyDBG. Una vez que abrimos el programa con F9 lo echamos a andar y con el botón derecho vamos a Go To
> Expression, y allí vamos a la zona anteriormente indicada. Una vez allí para ver si nos hallamos en lo correcto ponemos sobre esa posición un Breakpoint con F2 , y lo que tiene que ocurrir es que el programa se detendrá??.....
NOOOOO, no han prestado atención NO PASARA NADA, porque estamos poniendo un breakpoint en el mensaje de registración correcta y lo que nos arrojará (a menos que tengáis mucha suerte) es el mensaje de error de registración incorrecta :) jajaja. Entonces que hacemos esto supuestamente detendría el mensaje de registración correcta... pero de nada nos ayuda, lo que haremos entonces es comenzar a mirar el código más arriba, hasta donde aparezca un return, lo que indica el final de la rutina anterior y el comienzo de ésta que estimamos será donde checkeara mi serial....
Vamos subiendo y vemos aproximadamente que en la dirección 004C7BD2 aparece el serial que intentamos ingresar seguido de nuestro usuario, de lo que deducimos que en el próximo salto ya tendrá comprobado nuestro serial y nos arrojará hacia la zona de error, por lo que inmediatamente lo ubicamos y vemos sin mayores problemas que se halla en la dirección 004C7BE3, entonces nos situaremos sobre ésta y tocaremos la barra espaciadora (o assemble con el botón derecho del mouse como más gusten ;) ) y cambiaremos como hemos aprendido el JE , por un JNE (saltar si son diferentes), e intentamos registrarnos :).
Bueno eso ha sido todo espero que les haya gustado y hayan aprendido algo. Claro está que los cambios se irán al cerrar el OllyDBG pero de eso hablaremos más adelante, ya que me imagino que nadie quiere hacer nada indebido jajaja.... Escríbanme para contarme si les ha gustado.