Hola, estoy liado hasta la medula.

Iniciado por centiane, 15 Noviembre 2014, 01:57 AM

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

centiane

Bueno, cuento mi problema.
Tengo instalado el olly y con los crackme que tienen ventana emergente no he tenido problema a la hora de crackearlos.
El problema me llega de un software el cual no tiene ninguna ventana emergente y esta programado en delphi, el muy jodido las cadenas de caracteres las pasa a no se donde al arrancar y no soy capaz de ver ninguna cadena por la que empezar a trabajar, es mas me he llevado casi una semana sin frutos y ahora por primera vez pregunto.
El software en concreto es el duptemp en version demo
http://www.dupline.com/Download/New%2014/DupTemp2Demo.zip
No se por donde seguir.

Conoceis alguna forma para atacar desde otra perpestiva que no sea buscando las cadenas donde aparecen palabras clave?
Gracias.

Una ayuda por favor.

MCKSys Argentina

Y en dónde te has trabado? Hasta dónde has podido llegar?

No has explicado los avances que has tenido...

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


centiane

Bueno, explico un poco hasta donde he llegado.
He cargado el ejecutable, he buscado las palabras clave como "License" "Unregistered",... despues de esto he colocado los puntos de interrupcion inmediatamente antes de la llamada a estas cadenas pero la sorpresa es que mediante un puntero a memoria aloja estas cadenas "en no se donde" siendome imposible poder seguirlas, es mas todas las cadenas de string las aloja del mismo modo, con direcionamiento indirecto(supongo).
Este proceso lo he realizado con todas las palabras clave que he podido, siempre llegando al mismo problema.
Por otro lado, he intentado de llegar a este por un texto que se lanza despues de estar en funcionamiento el programa, pero este texto no lanza ninguna ventana, simplemente aparece en la ventana de proceso.

No se que mas hacer, me tiene ofuscado.

Un saludo Att.

_Enko

Holas, delphi utiliza su propia libreria de componentes. (Visual Componen Library, VCL)
Si bien con olly no deberias tener problemas, usando algo especifico podras ver el codigo de los forms y de sus eventos usando algo como http://kpnc.org/idr32/en/
Delphi Interactive Disassembler.

Saludos.

centiane

Ok, gracias por responder , voy a probar a ver que tal.
He probado incluso con el DeDe para mirar un poco mas a fondo pero el software que me he propuesto creo que se me escapa de las manos.
Habia escogido este porque me parecio algo no muy complicado y me parece que se me esta atragantando.

Un saludo mirare a ver.

Gracias.

centiane

No consigo ver nada, he utilizado el isd32, este me da el formato de formularios, eventos, librerias, etc. Pero no consigo ver la informacion referente al registro del soft.
Podria ser que el registro estubiera en el reg de windows, pues he buscado la cadena de string referntes a el nombre de usuario y compañia y no la encuentro.

Esto es lo que tengo de momento, una ayuda para seguir, por favor.
Gracias.

MCKSys Argentina

Si usas IDR (como te sugirió _Enko) podrás ver los formularios y eventos de los mismos (si el programa no tiene packer). Mirando un poco, seguro descubrirás la parte que necesitas analizar bajo Olly.

Eso te guiará para colocar BPs en Olly y así llegar rápidamente a la rutina de registración/comprobación de serial.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


centiane

He estado siguiendo la ejecuccion del programa y he detectado que todos los string los envia a memoria y accede a ellos por punteros, he aqui el problema, se donde se almacena el string en cuestion, pero al ponerle un BP de acceso a estos datos no se interrumpe la ejecucion, que es lo que estoy haciendo mal.
Me explico.
Al iniciar todas las cadenas las aloja de la dirrecion 005Dxxxxxx a la direccion relativa 009Cxxxxxx
el tema es que estas direcciones son mediante punteros y no tengo ni idea donde meter el BP.

Un saludo y gracias de antemano

_Enko

#8
El problema que vas a tener en olly usando programas compilados con Delphi es la estructura que utiliza el compilador.

Alunos compiladores hacen esto:

Citar
sección datos
;cadenas y variables
sección codigo
;codigo que se ejecuta
sección recursos
;sección de imagenes y demas recursos
sección importacion
;importacion de rutinas de las librerias externas

ahora, delphi no funciona asi. Tiene algo como
Citar
sección "no me acuerdo"
;recursos del form
;cadenas del procedimiento/evento
;codigo del procedimiento
;cadenas del procedimiento/evento
;cogio del procedimiento evento

O sea que las cadenas estan disparamadas a lo largo de todo el código. Teoricamente olly dbg debería de encontrarlas. Pero usando algo como IDR, puedes encontrar el form que te enteresa, la rútina y ver la direccion de memoria donde se empieza a ejecutar. Pones un breakpoint en ollydbg alli y listo :)

Otro tema, como la VCL es muy pesada y redundante, muchas veces los programas compilados en delphi estan empaquetados. No solo para protegerlos sino mas que nada para disminuir su tamaño.

Saludos.

centiane

Tiro la toalla, no se por donde segir, esto me lleva.
He intentado llegar a los estring sin fruto.
He traceado los eventos del exe y todo apunta que al iniciar el programa este comprueba la licencia, y los demas informaciones las muestra de allocates cargados durante el arranque..
No se por donde seguir, me he metido en algo que me supera, nada que ver con los crackme o los MalwareBytes.
Si algun alma caricativa le puede hechar un vistazo y me orienta un poco se lo agradeceri enormemente, pues me esta costado muchas horas (eso si estoy cogiendo una practica con el olly que te cagas)

Un saludo Att

Gracias de antemano.