Señores,
Cordial saludo. Tengo un programa empacado con PECompact. No tengo la version de la DLL, pero al desensamblar la app no veo las funciones nuevas. La DLL está empacada, segun PEiD con PECompact 1.68 - 1.84 -> Jeremy Collake. No es posible encontrar el OEP de este archivo. Ya intente con PEiD y con ImpREC 1.7e y en todos da error al intentar hallar el OEP. Siguiendo los pasos tradicionales con OllyDbg, siempre da un error que dice que el código está fuera del programa.
Me pueden ayudar? Como se desempaca? como se puede crakear?
Existen muchos programas que utilizan la proteccion así que si se lograr crackear uno, se crackean 100!
Gracias
Hey,
El link a la aplicación es: hxxp://www.elsitioagricola.com/Soft/evalas/evalAs1_0.asp#Download
Verificar que sea la versión 1.3
Gracias
Usando este buscador (http://ricardonarvaja.info/WEB/buscador.php) podras buscar en la web de Ricardo Narvaja y, por ende, en los tutotriales de la lista de CrackSLatinoS.
Muchas veces, PEiD falla al obtener el OEP de un programa. Lo mejor es que lo encuentres tu con Olly (el mensaje que mencionas es una advertencia solamente, no un error).
Usa el buscador para encontrar tutoriales sobre como desempacar ese packer.
Saludos!
Gracias,
Voy a consultar y les cuento.
Queres dumpear la dll solamente?
Bueno hice un tute de como desempacar la dll
http://www.mediafire.com/?da43no04eudymwb (http://www.mediafire.com/?da43no04eudymwb)
Slds
No. La idea es permitir registrarse con cualquier nombre y serial. Para ello necesito desempacar la DLL, modificarla y si es necesario, reeempacarla.
Ya intente varios metodos para desempacar la dll, pero al parecer tiene una segunda proteccion despues del empacado con PECompact...
Estoy revisando.
Nose, yo ahi ya veo las funciones que exporta y son como 40.
Names in OneWay
Address Section Type ( Name Comment
003C0000 pec1 Export GetSerialInfo
003C1098 pec1 Export AppSetupTrial
003C1380 pec1 Export AppRemove
003C15E0 pec1 Export AppRegister
003C18DC pec1 Export AppStatus
003C1C08 pec1 Export SetEncrypted
003C1C84 pec1 Export GetEncrypted
003C1CFC pec1 Export DelEncrypted
003C1DD4 pec1 Export DLLVersion
003C1E00 pec1 Export DLLLocation 1 argument
003C1E2C pec1 Export IncTimesRun
003C1FA4 pec1 Export GetTimesRun
003C2040 pec1 Export SetTimesRun
003C21B8 pec1 Export AppSetupTrialVB 2 arguments
003C21E4 pec1 Export AppRegisterVB 3 arguments
003C2204 pec1 Export AppStatusVB 1 argument
003C221C pec1 Export AppRemoveVB 1 argument
003C2244 pec1 Export IncTimesRunVB 1 argument
003C225C pec1 Export GetTimesRunVB 1 argument
003C2274 pec1 Export SetTimesRunVB 2 arguments
003C2290 pec1 Export GetEncryptedVB
003C231C pec1 Export SetEncryptedVB 3 arguments
003C234C pec1 Export DelEncryptedVB 2 arguments
003C2378 pec1 Export DLLVersionVB
003C23F8 pec1 Export DLLLocationVB
003C2480 pec1 Export GetSerialInfoVB 11 arguments
003C24D0 pec1 Export AppSetupTrialD
003C252C pec1 Export AppStatusD
003C2580 pec1 Export AppRegisterD
003C2604 pec1 Export AppRemoveD
003C2658 pec1 Export IncTimesRunD
003C26AC pec1 Export GetTimesRunD
003C2700 pec1 Export SetTimesRunD
003C275C pec1 Export SetEncryptedD
003C27E0 pec1 Export GetEncryptedD
003C2894 pec1 Export DelEncryptedD
003C2904 pec1 Export DLLVersionD
003C2960 pec1 Export DLLLocationD
003C29BC pec1 Export GetSerialInfoD
Fijate aqui hay referencias a algunas de las funciones.
http://bongbanhcm.110mb.com/ (http://bongbanhcm.110mb.com/)
Slds
Tena,
Gracias por el tutorial. Segui los pasos, logre desempacar la DLL pero el programa ahora tiene una excepcion no manejada. He repetido varias veces el proceso de exportar la DLL desde el programa y no de loaddll de Olly y no funciona!!!
Es posible que publique la DLL en mediafire o megaupload o rapidshare?
De esa forma puedo verificar si hago algo mal.
La idea es hacer un keygen teniendo en cuenta que según la documentacion de (Modificado)la DLL, existe un único AppID para generar los seriales.
Si no se puede hacer el keygen entonces simplemente permitir registrarse con cualquier nombre y usuario.
Gracias por el link de la documentacion. Ya lo había revisado. Hay muchas funciones xq la DLL funciona para casi cualquier compilador. Las funciones que por ahora me interesan son las terminadas en VB pues (Modificado) el programa está en VB 6
Gracias
En el tut, cuando se buscan la referencias de la API, en donde se hace Follow in dump – Memory Addres?
Sigo el ESP?
te pones encima del salto y ahí haces
clic derecho del mouse y le das a
follow in dump, y elegís Memory Addres.
El ESP solo lo usas cuando buscas el oep por el metodo del pushad/popad,
que consiste en pasar el pushad, y luego haces follow al registro ESP,
y te lo visualiza en la ventana del dump, ahi le pones un HBP de acceso al dword,
y das run, deberia caer justo despues del popad.
slds
La aplicacion sigue dando error '48' en tiempo de ejecución: no se ha encontrado el archivo OneWay
Con el archivo dll desempacado funciona?
Otra cosa, que versión de OllyDbg estás usando? Intenté con la 2.0 pero al parecer tiene problemas al cargar DLL's...
Tena,
Como obtuviste la imagen base 3A0000? Yo tengo 300000
Revisando cuidadosamente el problema creo que esta en la API. En OllyDbg al realizar la busqueda de las API's solo aparecen unas pocas call de OneWay.
Cita de: fperea en 16 Noviembre 2010, 06:07 AM
Tena,
Como obtuviste la imagen base 3A0000? Yo tengo 300000
Revisando cuidadosamente el problema creo que esta en la API. En OllyDbg al realizar la busqueda de las API's solo aparecen unas pocas call de OneWay.
Es la imagen base que me dio cuando cargue la dll directamente en el olly.
(http://img837.imageshack.us/img837/8989/loadlloffsetoep.jpg)
Pero si cargo el progui en el olly obtengo otra imagen base de la dll
(http://img253.imageshack.us/img253/6333/progrioffsetoep.jpg)
Restando el oep . la imagen base da el mismo resultado, asi que no hay problem.
Aqui te dejo una imagen del programa corriendo con la dll desempacada
(http://img707.imageshack.us/img707/4241/corriendo.jpg)
Cita de: fperea en 16 Noviembre 2010, 05:10 AM
La aplicacion sigue dando error '48' en tiempo de ejecución: no se ha encontrado el archivo OneWay
Con el archivo dll desempacado funciona?
Otra cosa, que versión de OllyDbg estás usando? Intenté con la 2.0 pero al parecer tiene problemas al cargar DLL's...
Si funciona... tenes que meterlo en la carpeta del programa.
A lo mejor este mal renombrado, tenes que ponerle el nombre original de la dll, lo abris con LordPE te vas a expor table y ahi sale el nombre.
Otra pues ya no se ¿la dll empacada te funciona?
Cita de: fperea en 16 Noviembre 2010, 06:07 AM
Tena,
Como obtuviste la imagen base 3A0000? Yo tengo 300000
Revisando cuidadosamente el problema creo que esta en la API. En OllyDbg al realizar la busqueda de las API's solo aparecen unas pocas call de OneWay.
Llegas al oep y te fijas en el memory map cual es..
(http://img571.imageshack.us/img571/7316/imagenbase.jpg)
De todas formas, parece que la proteccion es mas que PECompact.
Tena, probaste hacerle click sobre Registrese con la desempacada? Mira que la DLL la carga solamente cuando la usa, no antes...
@fperea: El programa es un VB 6 sin empacar, con lo que puedes parchearlo comodamente y luego hacer un patcher con dup2, o lo que mas te guste. No es necesario parchear la DLL... :P
Saludos!
Si ya lo probe y si funciona, adentro y fuera del ollydbg con el ollyadvanced.
Ahora probe monitorearlo con TracePlus, y ahi si me salta el error 48 que no encuentra la dll ¿?
Voy a mirar de porque sale ese error cuando lo monitoreo.
Pero afuera si funciona bien.
slds
OK. De todas formas ya la tengo dumped y funcionando perfectamente (tuve que corregirle la ImageBase para que no joda)
Lastima que IDR no la levante, pero IDA la analiza igual.
Creo que lo mejor es parchear el EXE. Por lo que estuve mirando, es medio jodido sacarle un keygen (por el Rijndael).
Pero bueno.. nada es imposible ;D
Saludos!
Cita de: MCKSys Argentina en 16 Noviembre 2010, 19:04 PM
@fperea: El programa es un VB 6 sin empacar, con lo que puedes parchearlo comodamente y luego hacer un patcher con dup2, o lo que mas te guste. No es necesario parchear la DLL... :P
Saludos!
Yo creo que lo interesante es cambiar la DLL. Ese software de protección lo utilizan muchos programas. Ya había como en el 2000 o 2004 una version de esta dll que tenía un parche:
hxxp://cracksguru.com/data/Funcrd_Card_Games_v3.00_crack_by_ELiMiNATION-bee021aae6.html
Ese crack parchaba la DLL. Lo probé pero, obviamente no funciona.
Aunque para mi por ahora parchar el programa sería la solución...
Estuve buscando los prototitpos de las funciones.
hxxp://tech.groups.yahoo.com/group/xbasic/message/16703
hxxp://www.foxite.com/archives/1way-by-atma-software-0000126808.htm
No es mucho pero sirve.
Lo que tengo entendido es que primero se revisa el status de la aplicacion con AppStatus(AppID) y luego si se revisan los seriales y otros.
Creo que al modificar la DLL para que reciba cualquier serial y lo almacene se puede remover la proteccion de muchos programas. Hay en la pagina de los autores un demo para descargar de la aplicacion:
hxxp://www.atma-software.com/1way/download.html
Lo que puedes bajar desde la web es un OCX.
El tema es que esta aplicacion esta usando una DLL (no es lo mismo).
Ademas, si miras la documentacion de la web, veras que la rutina ha cambiado (tambien la cantidad de parametros)
Por las dudas: Todo el tema de la registracion se guarda en el archivo WSYS049.SYS en C:\Windows.
Esta oculto, pero esta :P
Los datos estan cifrados, pero estoy viendo a ver si se puede solucionar eso....
Viendo con Olly, despues de que llama a la funcion AppStatusVB (y vuelve al EXE) EDX queda apuntando a los datos descifrados, correspondientes al AppID... ;)
Bueno parcharlo resulto ser facil,
Solo haciendo que la funcion GetSerialInfo retorne en Al un 1,
luego te registras y acepta cualquier cosa, y se graba supongo que en el archivo
que dijo MCKSys.
con el serial yo no me quiero meter :)
Seguro mi amigo MCKSys lo saca y ya veo que esta bastante cerca de logralo.
slds
Bueno, aca esta la DLL desempacada y reformada para que siempre nos de registrado (al menos en este soft): http://www.megaupload.com/?d=7P6GOLVI
Lo probe desinstalando el soft, borrando el archivo de c:\windows, reinstalando y ANTES DE EJECUTAR EL EXE, le cambie la DLL.
En proggie arranca registrado... :P
Eso si, no tiene nombre de usuario ;D
Saludos!
Modificado
Por las dudas: http://www.mediafire.com/?z36jv8dzvpj8p9i
ReModificado
Ah!! Lo logre haciendo que AppStatusVB devuelva 0 en EAX...
Hola MCKsys, parece lo que decia fperea era cierto, algo debe tener
porque mi dumpeado en la maquina de él, le sale error 48 dll no encontrada.
y con el tuyo me pasa lo mismo en mi maquina.
Te paso mi dumpeado aver si te funciona o sale ese error.
http://www.mediafire.com/?58r3qzo69mk6pl7 (http://www.mediafire.com/?58r3qzo69mk6pl7)
MCKSys fijate en esta parte si tenes la direccion dentro del exe
010E65C9 C605 04770C01 0>MOV BYTE PTR DS:[10C7704],1
Ahi me salta una excepcion porque 10C7704 no existe...
Cuando trata de cargar la dll salta esa excepcion y se muere.
Comparandolo con el mio, a esa direccion la tengo adentro del exe
Veo que en mi pc carga a tu dll en 10e0000, ahi me parece que esta el problema.
Yo sigo colgado en el dumpeado. No he podido desempacar. Probé con las dos versiones, MCKSys y Tena, y en ambas me sale error 48.
Intenté con la maquina virtual (VMWare) que tiene una instalación simple y tengo el mismo error.
Cuando trato de hacer el proceso de desempacado desde Olly con la aplicación (EvalAS), se genera una excepción y no alcanzo a llegar a la dirección en la cual se carga la DLL.
Ya probe desinstalando y realizando todos los pasos del foro pero sigue con el mismo error 48.
Creo que el problema está en las direcciones de la API y el tamaño de la IAT.
Me ayudan, por favor, con instrucciones detalladas para hallar la API?
para las excepciones configura al olly asi
(http://img694.imageshack.us/img694/6682/excep.jpg)
Al parecer el culpable es el programa y no la dll,
ya que justo antes de llegar al EP de la libreria me crea una sección de tamaño 4000
justo donde deberia ponerse la dll, y eso causa que despues la dll crashea.
Si abro la dll de MckSys en el ollydbg, y le doy run veremos que se carga perfectamente.
(http://img139.imageshack.us/img139/8694/funka.jpg)
Aqui vemos donde crashea cargandola desde el programa.
(http://img222.imageshack.us/img222/1693/lacausa.jpg)
si el programa la hubiera colocado en 010A0000 pues esa direccion estaria
dentro del exe.
El problema es la ImageBase. Al momento de dumpear, la ImageBase que tenga la DLL es la que hay que poner en el PE Header.
Con eso deberia bastar, a menos que se cargue en otra direccion, con lo que nos jode la vida.
Para arreglar eso, ya hay que meterse con la Relocation Table. Hacer un script que levante todas las referencias a la sección data/code (excepto jumps) y meterlas en el directorio de Relocacion...
Es la otra alternativa que veo... :P
Bueno al final parche a la dll empacada.
aver si funciona en otra pcra.
después haré un tute para mostrar los pasos que realice.
Modificado: Borre el link a la dll
tratare de hacer un tutorial estos dias.
slds
Hey!!!
Esta si funciona bien!! Gracias! Pero me quedo con muchas dudas. Corriendo en Olly EvalAs con Olly configurado para omitir Excepciones y con un BRK en nuevas DLL
tengo que la Imagebase es 11110000. Esta es la imagen que se debería poner en LordPE?
Espero el tute para repetir el proceso localmente!!!!
Muchas gracias
La podes ver en el memory map, en el modulo que se esta ejecutando. LordPe e ImporteRec tambien te la muestran.
(http://img232.imageshack.us/img232/4017/imagebase.jpg)
Tena,
Estuve probando la aplicación. Existen dos tipos de licencias: Una estándard y la otra MonteCarlo. La última permite realziar simulaciones de MonteCarlo para probar variaciones de valores. Esa licencia no está activa. Habría que revisar...
La DLL que permite registrar está empacada con PECompact otra vez. Es necesario Reempacarla? No se puede usar desempacada?
Tal vez el error 48 se deba a que no está empacada la DLL y la aplicación solo funcione con la DLL empacada. Esas son las diferencias entre las anteriores DLL y esta nueva que si funciona. Voy a revisar y les cuento...
Gracias
Ahhh!
Le cambié el nombre al tema: Se llama ahora Desempacar PECompact 1.68-1.84 de una DLL y edité algunos post que contenían información que no es relevante publicar... :)
Cita de: fperea en 19 Noviembre 2010, 20:14 PM
Tena,
Estuve probando la aplicación. Existen dos tipos de licencias: Una estándard y la otra MonteCarlo. La última permite realziar simulaciones de MonteCarlo para probar variaciones de valores. Esa licencia no está activa. Habría que revisar...
La DLL que permite registrar está empacada con PECompact otra vez. Es necesario Reempacarla? No se puede usar desempacada?
Tal vez el error 48 se deba a que no está empacada la DLL y la aplicación solo funcione con la DLL empacada. Esas son las diferencias entre las anteriores DLL y esta nueva que si funciona. Voy a revisar y les cuento...
Gracias
A esa no la desempaque, solo le parche la comparacion donde comprobaba la integridad del archivo, y la redirigi a una zona vacia, y ahi meti un injerto que parchase donde sea necesario, ya que en ese punto la dll ya esta desempacada completamente en memoria.
Bueno dejo el tute del registro..
http://www.mediafire.com/?a8l1aqaxauffixh (http://www.mediafire.com/?a8l1aqaxauffixh)
slds
Cita de: tena en 20 Noviembre 2010, 01:40 AM
Bueno dejo el tute del registro..
http://www.mediafire.com/?a8l1aqaxauffixh (http://www.mediafire.com/?a8l1aqaxauffixh)
slds
Aunque no estoy interesado para nada en el programa de fperea, resulta interesante la metodología que usaste para desempacar esa DLL
Y lo de diseñar una medicina para el programa me sirve de cultura general
Cita de: fperea en 19 Noviembre 2010, 20:16 PM
Ahhh!
Le cambié el nombre al tema: Se llama ahora Desempacar PECompact 1.68-1.84 de una DLL y edité algunos post que contenían información que no es relevante publicar... :)
Fprea no creo que haya sido bueno borrar el enlace para descargar el programa, porque el tutorial esta basado en el Ev4ls.1_3
Si quieres sube el programa a mediafire o megaupload con otro nombre si es eso lo que te preocupa y todo eso para que el tute sea completo
Editado: aqui esta todo el material del post PDF, DLL, Setup.EXE http://www.mediafire.com/?q0cx45xud5ztxa4 junto con el programa
Aqui esta el programa Topo v1.2 http://www.4shared.com/file/72263364/4fecbcc6/Topo_12.html
Gracias a MCKSys y especial a tena por la especial dedicación al tema, aunque la ayuda no sea para mi
Saludos!!!
Cita de: tena en 20 Noviembre 2010, 01:40 AM
Bueno dejo el tute del registro..
http://www.mediafire.com/?a8l1aqaxauffixh (http://www.mediafire.com/?a8l1aqaxauffixh)
slds
Gracias man! Pero es un tute un poco avanzado para mi. jejeje.
Vale la pena intentar otro método para desempacar la DLL? Por lo pronto yo tengo la aplicación corriendo, gracias a Tena, pero quedo pensando si la DLL tiene una segunda protección o algo así...
Cita de: henryxs87 en 20 Noviembre 2010, 06:20 AM
Fprea no creo que haya sido bueno borrar el enlace para descargar el programa, porque el tutorial esta basado en el Ev4ls.1_3
Ya restauré el link de la aplicación. :)
Cita de: henryxs87 en 20 Noviembre 2010, 06:20 AM
Gracias a MCKSys y especial a tena por la especial dedicación al tema, aunque la ayuda no sea para mi
Si. Muchas gracias Tena, MCKSys por la dedicación. Me gustaría dejar abierto el tema para seguir investigando como desempacar una DLL como esta de PECompact 1.68-184.
Hola a todos, disculpen que abra de nuevo el tema, pero estoy batallando para el registro del programa, me marca el error de que el archivo dll no se encuentra, me podrian asesorar, se los agradeceria muchisimo.
:)