"Crackeando" Project64 Emulator

Iniciado por kub0x, 27 Enero 2021, 00:58 AM

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

kub0x

Holas,

últimamente me hallo jugando por las noches al Zelda: Ocarina Of Time y pues cada vez que abro el Project64 sale el dialogo de donar, y un boton deshabilitado con una cuenta atrás o timer de 30 segundos. No sólo eso, sino que si cambio la config gráfica y me pongo a experimentar crashea y a volver a esperar los 30 secs...

Como en este foro no nos gustan las esperas, he bypasseado dicho timer para no tener que esperar como un buen ciudadano, y simplemente clickar ese botón. Sé que hay más posibilidades, como por ejemplo, impedir que se abra esa ventana que es un dialog en términos de la winAPI o bien habilitarlo en su creación, recompilar porque es software libre y un largo etc.

Antes de empezar, muestro el ANTES y el DESPUÉS de lo que sucede al abrir la aplicación:

ANTES



DESPUÉS (BYPASS)



Como Project64 ofrece un binario de 32bit en su release stable utilizamos nuestro debugger favorito, en mi caso OllyDbg ver2 va fenomenal. Abrimos OllyDbg e iniciamos Project64.exe

Ahora, para empezar, runeamos el software con F9. Cuando veamos que salga la ventana "molesta" le damos a Pause. Como el botón contiene el mensaje "Continue (X segundos)" abrimos el listado de ventanas instanciadas:



Click derecho en la fila del boton (ventana) Continue(27), y seleccionamos "Follow ClassProc"

Ponemos un breakpoint en la dirección de memoria donde nos ha llevado Olly y ejecutamos con F9:



Con Alt+K mostramos el Call Stack para ver que llamadas se han realizado hasta acabar en dicha dirección de memoria.



Hacemos doble click sobre la última llamada, la cual esta seleccionada en la imagen anterior. Esto nos lleva a la dirección de memoria donde se encuentra dicho procedimiento. Ahora estamos en 0x41D368.

En la direccion 0x41D56C vemos como hay una llamada a KillTimer. Además, hay un salto condicional, que evita la llamada a KillTimer:



Parcheamos con NOP la instrucción JNZ SHORT 0041D579 para que llame a KillTimer.



Y el resto es historia...

Dejo enlace a mega con el .exe para los que queraís usarlo y no sepaís utilizar esta guía, está limpio sentiros libres de pasarlo por Virustotal o vuestro AV. https://mega.nz/file/WxZTAKAC#Z6MV1MO7LloE1o4aCRPbqnnfvgRaZtCa_MWqxcEGLgQ
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


EdePC

#1
 :o de donde has sacado un Project64 de pago, acabo de revisar mi viejo Project64 y dado en About para que me lleve a su página oficial para descargar la nueva versión y aún así también es completamente gratis: https://www.pj64-emu.com/public-releases o al menos a mi no me ha aparecido esa ventana con cuenta regresiva, pasa luego de un tiempo?



---

Me corrijo, ya me está empezando a salir, aunque todavía no muestra una cuenta regresiva. Mi vieja versión 1.6 no tiene estas cosas

kub0x

Cita de: EdePC en 27 Enero 2021, 04:18 AM
Me corrijo, ya me está empezando a salir, aunque todavía no muestra una cuenta regresiva. Mi vieja versión 1.6 no tiene estas cosas

Como ya hemos visto por telegram todo depende del uso que le hayas dado a la aplicación. De hecho como EdePC dijo en TGram quoteando la Wikipedia de Project64:

CitarWhen Project64 2.3 was released, a harmless yet irritating nagware screen began to occur after a number of uses of the software which grew more persistent with successive launches as a forced waiting period is installed.

Por lo tanto el bypass o "crackeo" es legítimo.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


EdePC

Acabo de comprobar que a partir de la 3ra vez que se inicia el programa empieza a mostrar la Nag pero sin cuenta regresiva, con darle a Continue o presionando Esc se vuelve a trabajar con normalidad de nuevo.

A partir de la 10ma vez es cuando ya empieza a mostrar la Nag con una cuenta regresiva para pasarla.

El contador de veces de uso del programa se guarda en el archivo de configuración: Config\Project64.cfg, ese archivo se puede abrir y editar con un Block de Notas o similar, donde la parte del contador es:

Citar[Support Project64]
Run Count=3

- Por ejemplo ahí dice que se ha ejecutado 3 veces por lo que a la siguiente mostrará la Nag

Una solución propuesta en https://forums.launchbox-app.com/topic/33041-project64-23-nag-screen-removal/ consiste en poner el contador a -1 y según acabo de comprobar, el contador de inicios ya no sube y nunca más muestra la Nag ni la cuenta regresiva para pasarla   :xD

Citar[Support Project64]
Run Count=-1

kub0x

Cita de: EdePC en 27 Enero 2021, 14:02 PM
Acabo de comprobar que a partir de la 3ra vez que se inicia el programa empieza a mostrar la Nag pero sin cuenta regresiva, con darle a Continue o presionando Esc se vuelve a trabajar con normalidad de nuevo.

A partir de la 10ma vez es cuando ya empieza a mostrar la Nag con una cuenta regresiva para pasarla.

El contador de veces de uso del programa se guarda en el archivo de configuración: Config\Project64.cfg, ese archivo se puede abrir y editar con un Block de Notas o similar, donde la parte del contador es:

- Por ejemplo ahí dice que se ha ejecutado 3 veces por lo que a la siguiente mostrará la Nag

Una solución propuesta en https://forums.launchbox-app.com/topic/33041-project64-23-nag-screen-removal/ consiste en poner el contador a -1 y según acabo de comprobar, el contador de inicios ya no sube y nunca más muestra la Nag ni la cuenta regresiva para pasarla   :xD


:laugh: :laugh: ;-) ;-) No me dió por mirar los archivos de config, quería parchearlo a toda costa como si fuera un reto, pero sin duda poner a -1 dicho contador es la mejor solución, no rompe nada del binario, no requiere ing inversa y si hay updates basta con volverlo a cambiar  >:D

Saludos
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


Danielㅤ

Hola, no es trabajo en vano kub0x, el reto lo lograste, lo que pasa es que, que íbamos a suponer que saltar ese tiempo de espera sea tan sencillo como modificar un valor del archivo de configuración del programa, jajaja algo de más de simple!!! la verdad que lo que uno menos se espera es que se puedan modificar cosas como esas de manera tan fácil desde un archivo de configuración.

Pero si es cierto, la mejor solución es la que dejó el compañero EdePC.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Machacador

"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"

karmany

#7
Cita de: Machacador en 27 Enero 2021, 16:16 PM
El EdePC es un CRAK...  ;D

:rolleyes: :o :rolleyes:

Digo lo mismo!!!!!!!!
Esto me recuerda un programa que estaba protegido por asprotect y solo te permitía usarlo durante 30 días. Más tarde, los autores del programa dejaron de usar el packer Asprotect y recuerdo leer tutoriales de cómo crackearlo.
Un día se me ocurrió instalar el programa porque lo necesita usar 1 vez y al cabo de un año más o menos después de la instalación, lo volví a usar una segunda vez y solamente al inicio sale una ventana que dice: "el periodo de evaluación ha expirado" pero pulso el botón el cancelar y el programa funciona full. Con lo cual me imagino que al quitar Asprotect los programadores dejaron las viejas funciones que llamaban al packer...

kub0x

Cita de: [D]aniel en 27 Enero 2021, 16:06 PM
Hola, no es trabajo en vano kub0x, el reto lo lograste, lo que pasa es que, que íbamos a suponer que saltar ese tiempo de espera sea tan sencillo como modificar un valor del archivo de configuración del programa, jajaja algo de más de simple!!! la verdad que lo que uno menos se espera es que se puedan modificar cosas como esas de manera tan fácil desde un archivo de configuración.

Pero si es cierto, la mejor solución es la que dejó el compañero EdePC.


Saludos

Pues si nada es en vano, aquí nos entretenemos y prácticamos el tiempo nunca se pierde sino que se invierte :D
Por ejemplo he desempolvado IDA Pro y realizado un bypass similar para las molestas ventanas de WinRar para que lo compres, oye algo es algo.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


EdePC

Cita de: kub0x en 29 Enero 2021, 00:25 AM
Pues si nada es en vano, aquí nos entretenemos y prácticamos el tiempo nunca se pierde sino que se invierte :D
Por ejemplo he desempolvado IDA Pro y realizado un bypass similar para las molestas ventanas de WinRar para que lo compres, oye algo es algo.

Saludos.

WinRar te da 40 días para probarlo sin molestias, luego se puede reinicializar la fecha de instalación para obtener otros 40 días eliminando un registro y un archivo:

Código (dos) [Seleccionar]
Reg Delete HKCU\Software\WinRAR\General /V VerInfo /F
Del "%AppData%\WinRAR\version.dat"


A mi me gustan más los Trial Reset :xD, claro, siempre y cuando el programa no tenga limitaciones importantes en su modo trial.

Lo malo de editar (crackear) los bytes de un programa es que pierde su Firma Digital, creo que alguna vez me ha saltado un error por esa causa.

Aunque también considerar que la licencia de WinRar que anda pululando por ahí es válida para tooodas las versiones XD