Atacascado con odbg sacando serial a un programa

Iniciado por p3n3, 9 Octubre 2008, 22:50 PM

0 Miembros y 1 Visitante están viendo este tema.

p3n3

Buenas, estoy intentando sacar un serial de un programa. Este programa es un editor de temas para wordpress que me hace falta. La versión definitiva ha sido liberada en septiembre, por lo tanto aun es pronto para que haya algún crack/serial o al menos yo no lo encuentro, y me he decidido a sacarlo yo mismo  ;D. A pesar de que empiezo desde 0, aprendo leyendo y haciendo caso a lo que me digais vosotros (pero sin darme el trabajo hecho). Ya que quiero obtener mi propia satisfacción de poder decir: LO HICE, FUI CAPÁZ! xD


Bien, primero abro el Peid y me dice que está en Microsoft Visual C++ 6.0 [Overlay]

A continuación abro el w32dasm y echo un vistazo a String Data References y busco la línea en la que viene el error de registro. Hago doble click y me lleva al push (00430190) el cual copio.




Posteriormente abro el odbg, hago Control+G y pego (00430190). El cual me lleva a la línea de error. Ahora pongo un breakpoint.



Según he leido en algunos tutoriales ahora debería pulsar F9 y poner un user y password. Pero me salta el desinstalador y por tanto no sé seguir  :-\

Aquí os pongo el tipo de sintaxis que pide el serial del programa:





A ver si alguien me echa un cable, que estoy bastante perdido y desesperado, y me hace mucha falta este serial. Gracias.

tena

No entiendo lo de que te salta el desinstalador, pero quisas te haya detectado y te saca eso para que se desinstale, nose, bueno..

Aun asi tienes la opcion de Atachear al proceso, el cual lo podes hacer ejecutando el progama ese, y luego te vas al ollydbg y de ahi a File>>Attach y elegis el proceso del programa que estas viendo.

En Ollydbg tambien puedes ver las referencias a las strings, clicleando en la ventana de codigo del ollydgb el boton derecho del mouse y eligiendo
Search for >> All referenced text strings, te salen todas las strings y para buscar la que queres nomas con el boton derecho del mouse y elegis Search for Text...

Proba poniendo un bp en GetDlgItemTextA, escribi un serial y dale a activar, si cae en el bp fijate en el buffer que ahi va a meter tu serial trucho, hace follow in dump ahi y marcalo, y ponele un bpm on access para seguirlo y ver que hace con el mismo...


En la imagen veo que estas en el mensaje de error, pues tenes que ver por arriba del codigo que es lo que te hace llegar ahi, tenes que fijarte en los saltos condicionales, por ejemplo justo ahi arriba veo un JLE, que significa que "salta si es menor o igual a", como no salto quiere decir que lo que compara es mayor y te saca el mensaje de error.

Bueno fijate y comenta como te fue...

Saludos
tena

p3n3

Citar
Proba poniendo un bp en GetDlgItemTextA, escribi un serial y dale a activar, si cae en el bp fijate en el buffer que ahi va a meter tu serial trucho, hace follow in dump ahi y marcalo, y ponele un bpm on access para seguirlo y ver que hace con el mismo...


Sé poner Breakpoints, pro no sé como ponerlo donde dices xD o como buscar "GetDlgItemTextA".

PD: El error que me sale al poner un serial inválido es este:


byebye

CitarSé poner Breakpoints, pro no sé como ponerlo donde dices xD o como buscar "GetDlgItemTextA".

entonces no sabes.... CTRL+N y en la ventana que se abre escribes getdlg si no esta ahi puedes ponerlo con algun plugin como el cmdbar (no recuerdo si se llama asi exactamente)

KJD

El programa tiene proteccion contra debuggers, mas precisamente isdebuggerpresent, busca un pluning de olly que te lo esconda asi podras trabajar trtanquilo.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???

tena

Cita de: p3n3 en 10 Octubre 2008, 12:10 PM
Citar
Sé poner Breakpoints, pro no sé como ponerlo donde dices xD o como buscar "GetDlgItemTextA"


En la cmdbar como te dicen ahi abajo, poniendo tal cual "bp GetDlgItemTextA" sin las comillas, o directamente como haces para ir  a cualquier  direccion ctrl+g y ahi le pones GetDlgItemTextA y luego F2 para colocar el bp.

Para que no te detecte con la api IsDebuggerPresent podes usar el plugin OllyAdvanced, o manualmente cuando cargas el prog en el ollydbg ahi nomas te vas a la ventana del dump y haces ctrl+g  y escribis ebx+2 y cambias el 1 por un cero.

Saludos