Bueno, soy nuevo, mi nombre es Tomás... hace 1 año que sigo esta pagina, pero esta es la primera que posteo.... les comento mi caso:
- utilizo ollydbg y hasta ahora eh puesto breackpoints hasta dar con el "punto clave"
- el .exe pertenece a un programa que al ejecutarse valida o no al usuario leyendo un "key.txt" que posee nombre/email/contraseña
- si los datos son correctos, el juego te lleva al menu principal directamente (NO hay cartel de felicitacion)
- si los datos no coinciden, SI te aparece un cartel (invalid key), y luego te lleva al menu principal
- Quiero aclarar que yo tengo el "key.txt" correcto asi que esto que busco es por el simple hecho de aprender a 'leer' este proceso y de ser posible generar alternativas.
Bueno, en un principio fui poniendo "breakpoint" sobre el "messagebox" (el cartel que aparece cuando sale el mensaje de 'invalid key') ... pero como esto se produce YA concretado la comparacion de "validacion", pues no logre retroceder hasta el "punto clave" (el momento donde compara datos)
Entonces, comence a seguir la ruta desde el COMIENZO mirando el "CreateFileA" (si, desde el comienzo).. y de a poco fui desenmarañando la ruta hasta dar con EL PUNTO CLAVE donde el programa lee el archivo "key.txt" para luego hacer una comparacion interna y a partir de alli llevarte a la version completa directamente, o al cartel nefasto (invalid key)...
Quiero aclarar que no da lo mismo poner cualquier nombre, ni cualquier mail.. la falta de cualquier letra hace saltar al cartel "invalid key"... lo unico que permite es acortar la password escrita en el key.txt solo mientras coincida con la password con la que la termina comparando.
Evidentemente debe haber "decenas de nombres, emails y contraseñas" cargadas... me imagino que aca lo mas directo seria "validar" la comparacion equivocada, o saltearse dicha comparacion...
lo que me gustaria preguntar, es que veo ahi los "mov" con los cuales 'mueve' los datos, y veo que a todos ellos les prosigue un mismo "call" .... es como que todos esos datos los juntara y "llamara" a 'el punto clave' para compararlos (yo pienso que el "y.txt" debe ser un archivo oculto con todas las claves)...
Bueno, espero se entienda el mensaje..... lo que busco no es que me digan "la solucion"... sino como proseguir, que podria hacer ahora? ya puse todos los breakpoints hasta dar con el momento clave... ¿y ahora? ..