Autor
|
Tema: Problemilla con un trial. (Leído 20,675 veces)
|
nemus
Desconectado
Mensajes: 21
|
En primer lugar un saludo a tod@s. Comentaros que llevo tiempo siguiendo las interesantes aportaciones de este foro. Aunque me considero en estos temas un opositor a aprendiz, sin demasiado tiempo para dedicarle al estudio. El periodo de vacaciones del verano pasado continué mis estudios practicando con el desempaquetado de un programa. Estas vacaciones me había propuesto vencer sus limitaciones, pero llevo 4 días encallado. Hecha mi presentación voy a describir mi problema. Una vez desempacado el trial decido estudiar sus limitaciones. El programa permite uso full durante el período de 90 días. Pasada la fecha solo posibilita el uso de un reducido número de funciones. Inicialmente cuando se carga aparece una NAG informativa que nos indica la fecha máxima del uso en modo full. Es decir, la comparación de fechas ya se ha realizado. Al aceptar la NAG informativa aparece otra ventana preguntando que base de datos queremos cargar. Aparecen un par de bases de ejemplo una vacía y otra con datos, son archivos con extensión .fdb (base de datos firebird, …) Mi teoría es que compara la fecha del archivo .fdb o alguna clave de registro, con la fecha del sistema. He intentado con: GetSystemTime SystemTimeToFileTime GetSystemTimeAsFileTime FileTimeToLocalFileTime FileTimeToDosDateTime: Con esta API para al escoger el .fdb, pero a partir de ahí me marea y me pasa por alto la comparación. Ahí tenéis el programa y su dump: http://www.megaupload.com/?d=Y25QMRFIEspero podáis echarme una mano antes que se acaben mis vacaciones, gracias por anticipado.
|
|
|
En línea
|
|
|
|
Mintaka
Desconectado
Mensajes: 72
|
Hola: A mí personalmente, me gusta hallar la call que provoca la nagscreen y lo consigo mediante el método llamado "a lo retro".Este método consiste en colocar un breakpoint en el Olly (BP DestroyWindow) antes de cerrar esa nag.Cuando la cierras Olly detiene la ejecución justo cuando entra en el procedimiento de borrar la nag.Seguidamente de doy a ALT+F9 y me deja parado una instrucción después de la call para sacar la nag cojonera.A partir de ahí hay ir observando hacia atrás, en el código, y colocar breakpoints en los lugares sospechosos que te llevan a la esa call maldita.Reiniciar Olly e ir observando que sucede a partir de esos BP's y si es preciso retroceder más en el código para descubrir donde descuenta los días.A veces es tan simple, como ver una resta a 5A (90 decimal). De todos modos, existen bastantes escritos sobre las nags por aquí:
*http://ricardonarvaja.info/WEB/CURSO NUEVO/TEORIAS NUMERADAS/*:
816-Quitando nagscreen en vb.zip
838-COMO_ELIMINAR_NAGS_EN_PROGRAMAS_DELPHI.rar
834-Registrando Secutity Task Manager por ZiKaTRiZ.rar
323-Desempacado y quitando la nag de Soldat v1.21 (ASPr v1.2).rar
932-Parcheando y quitando NagS a un EXE por CaR19.rar
1012-Teoria sobre como eliminar un NAG con nada mas mirrar la pila.rar
177-COMO HACER UN LOADER SENCILLO QUE PULSE BOTONES PARA ELIMINAR NAGS.rar
115-OLLY_Contra_NAG_Parte_III.zip
200-Como realizar un injerto para eliminar una nag simulando que se presiona el boton .rar
100-OLLY_Contra_NAG_Parte_II.rar
095-OLLY Contra Las NAG Parte I por Arapumk.rar
*http://ricardonarvaja.info/WEB/OTROS/AKIRA TODO/*:
35.Estudio completo de Nag Screen.rar
Suerte,
Mintaka
PD:A ver si se despierta el amigo Tena y te da sus consejos.
|
|
|
En línea
|
Si lloras por no ver el Sol tus lágrimas no te dejarán ver las estrellas.(Tagore)
|
|
|
|
Paul Young
Desconectado
Mensajes: 300
No lo pienese...intentalo
|
que tal compaéros pues yo no se mucho (casi nada) de esto pero me interesa mucho el ver que con el olly se pueda hacer en base a break points que algun programa (trial) se pueda ejecutar como full es posible??
|
|
|
En línea
|
Lo que sabemos es una gota de agua, lo que ignoramos es el océano (Isaac Newton)
|
|
|
nemus
Desconectado
Mensajes: 21
|
Hola peke2305,
En este caso en concreto el programa tiene parte gratuito y otra parte a prueba temporal de 90 días. Se instala con todas las funciones disponibles y una vez superado el período de evaluación dejan de funcionar las funciones de evaluación y solo permanecen activas las funciones gratuitas.
Si un programa no trae todas las funciones, entonces no hay nada que hacer en ingeniería inversa, ya que no podemos activar unas funciones que no están en el programa. En ese caso estaríamos hablando de programar en Olly las funciones que faltan en lenguaje ensamblador(ASM), tarea fuera de toda lógica teniendo en cuenta el numero de lenguajes de alto nivel que disponemos para programar.
Espero que mi explicación no te confunda mas. Sino seguro que los maestros lo enfocaran mejor.
Sigo todavía en juego. Por ahora he topado con un salto que evita entrar en el CALL que modifica el registro de sistema comentado en el post anterior, me he acercado a la zona con el API RegSetValueExA. Pero sigo a oscuras en el tema de la comparación de fechas. Alguna sugerencia, please!
|
|
|
En línea
|
|
|
|
Mintaka
Desconectado
Mensajes: 72
|
....... RegCreateKeyExA: A través de esta API he descubierto que pasados los 90 días modifica una clave situada en “HKEY_CURRENT_USER\Software\Microsoft\MSInfo” esta clave durante el periodo full contienen el valor 0, y finalizado el periodo lo cambia a 1. Una vez modificado el valor el programa oculta el acceso a parte las funciones del modo full del programa. Dejando al programa solo con las funciones free. RegSetValueExA RegOpenKeyExA RegClosedKeyExA Sigo perdido, pero luchando! Preparado para nuevas sugerencias solo me quedan 5 días de vacaciones. Una ayudita! Thanks.[/size] Bueno.¿Qué tal si averiguas en que parte del código intenta cambiar ese valor a 1?. Y sabiéndolo, ¿porqué no cambiar ese valor 1 que quiere ponerle, por un cero?. He intentado bajarme el programa y me dice que: El archivo al que está intentando acceder está temporalmente desactivadoAnimo que estás más cerca.
|
|
|
En línea
|
Si lloras por no ver el Sol tus lágrimas no te dejarán ver las estrellas.(Tagore)
|
|
|
nemus
Desconectado
Mensajes: 21
|
Bueno.¿Qué tal si averiguas en que parte del código intenta cambiar ese valor a 1?. Y sabiéndolo, ¿porqué no cambiar ese valor 1 que quiere ponerle, por un cero?.
He intentado bajarme el programa y me dice que: El archivo al que está intentando acceder está temporalmente desactivado
La Nag inicial y la parte de escritura de la clave del registro esta arreglado. El programa arranca sin la nag informativa y solo me pregunta que archivo de datos quiero cargar. Cuando el archivo de datos .fdb elegido tenia fecha posterior a la permitida entonces es cuando escribía el 1 en la susodicha clave de registro. Al jumpear el momento de escritura en la clave, el programa detecta la fecha incorrecta pero no puede escribir en el registro el valor 1, por tanto el programa permite el uso full dentro del período permitido con un archivo de datos con fecha fuera de los limites permitido. Sigue quedando la limitación por fecha, si esta limitación la hubiera solucionado en primera posición, el resto de limitaciones no aparecerían. Estoy en el estudio de los métodos de como oculta la fecha. Por cierto, a mi si que me funciona la descarga del archivo que contiene el programa y el dump desempacado. Si tienes tiempo y ganas echale un vistazo, mientras lo intentaré acabar. Saludos.
|
|
|
En línea
|
|
|
|
nemus
Desconectado
Mensajes: 21
|
Me estoy volviendo loco! Pensaba que estaba cerca y la cosa se ha complicado. Al invertir un salto me ha bloqueado nuevamente el programa, y no se que registro me ha modificado. He restaurado el registro y he vuelto al estado anterior. Si instaláis el programa con la fecha actual sale una nag indicando que el programa esta fuera de fechas y se cierra. En cambio se deja instalar con fecha aproximada a junio/2009. Entonces permite 90 días full. Mi objetivo era conseguir que el programa estuviera siempre en período de prueba. Estoy sin ideas. Domingo noche empiezo a trabajar, y adéu a las vacaciones. Una ayudita no estaría mal, venga no me hagáis suplicar mas. :-) Thanks.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
En que esta hecho el EXE??
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
nemus
Desconectado
Mensajes: 21
|
En que esta hecho el EXE??
Estaba empaquetado con Yoda's Protector y desempaquetado Borland C++ for Win32 1999 Gracias.
|
|
« Última modificación: 3 Septiembre 2010, 20:56 pm por nemus »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Trial en vb6 native code autoextraible
« 1 2 3 »
Ingeniería Inversa
|
silvau
|
23
|
14,073
|
24 Diciembre 2010, 01:37 am
por silvau
|
|
|
Limpiar registros de Trial
Dudas Generales
|
alexami
|
5
|
12,077
|
20 Febrero 2013, 15:16 pm
por simorg
|
|
|
AOMEIBackupper Professional Trial
Software
|
Zorronde
|
0
|
1,573
|
10 Enero 2019, 18:34 pm
por Zorronde
|
|
|
Analizar trial
Ingeniería Inversa
|
eranhy
|
2
|
9,472
|
2 Enero 2022, 20:14 pm
por eranhy
|
|
|
Tmpgenc smart renderer reset trial
Ingeniería Inversa
|
miguelsat
|
0
|
2,019
|
11 Diciembre 2022, 16:03 pm
por miguelsat
|
|