[Tutorial]Crackeando PosWin v8

Iniciado por .:UND3R:., 11 Julio 2011, 15:35 PM

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

.:UND3R:.

Este es mi primer tutorial así que espero que puedan entenderlo  :silbar:
Para descargar en formato .pdf y doc gracias a apuromafo:
http://www.mediafire.com/?g7eclg6czc37vev

PosWin v8

1) Herramientas

Las herramientas que debemos usar para poder lograr el objetivo de este tutorial son las siguientes:

Ollydbg modificado/parchado conocido como PARCHEADO5 o Ollydbg normal con el pluguins Break on Execution 1.1b (este lo pueden conseguir desde esta página:http://tuts4you.com/download.php?view.3123)

2) Conociendo al target o objetivo:

Según mi metodología creo que antes de tocar algún debugger u otra herramienta se debe conocer el programa en sí, saber como trabaja desde una visión generalizada

una vez instalado nos dirigimos a la ruta de su instalación:

CitarC:\PosWin\V8\Bin

y abrimos el ejecutable "Acceso.exe"

al abrirlo nos muestra lo siguiente:



Nos fijamos que tenemos dos opciones, una es introducir el serial para poder contar con el programa sin ninguna limitación o probar la versión demo

si en este instante abrimos el administrador de procesos obviamente notaremos que se está ejecutando Acceso.exe

ahora le damos click a la DEMOSTRACIÓN y se nos abrirá un submenú



si elegimos cualquiera en mi caso Hostelería (que es el primero y me ahorro de mover el mouse )

Nos carga el programa y si nos dirigimos a acerca de nos mostrará que es la versión demo cerramos todo

3) Manos a la obra:

-Abrimos Ollydbg y seleccionamos Acceso.exe nos damos cuenta al analizar los llamados a las dll que estas son de visualbasic por lo que por eso se debe utilizar el PARCHEADO5 o el pluguins ya que estos se encargan de que cuando nos dirijamos a MEMORY (botón de Ollydbg con la letra M) si colocamos un "Memory on Access" este solo se detendrá cuando haya un "Memory on execution", no cuando haya un "on acces" o un "on write" (con el pluguins antes se debe activar desde el menú de pluguins)

lo iniciamos, al estar cargado completamente:



Tipeamos un serial falso y nos vamos a M y colocamos un Memory on Access (execution) en la sección code

luego de detenerse y tracear un buen momento, vemos que se hace un llamado a otro proceso llamado "PosWin.exe" ubicado en la misma ruta que el ejecutable Acceso

este hace el llamado a través de la API CreateProcess por lo que intentar debuggear a este ejecutable no servirá


-Si intentamos ahora abrir a PosWin.exe desde Olly notaremos que nos muestra una Alerta diciendo que se debe abrir desde Acceso por lo que este método tampoco funcionará


Solución:
-Debemos configurar a OllyDbg con la opción:
Just in time debugging, que se encarga de que cada vez que un programa no pueda soluccionar algún error este es atachado por Olly

¿y para que sirve esto?
Sencillo para poder generar un error en PosWin.exe para que cuando sea llamado por Access.exe Ollydbg tome el control

para configurarlo hacemos lo siguiente:





*Si presionan "Attach without confirmation"
su Sistema Operativo NO les preguntará si desean debuggearlo con ollydbg, este lo hará de manera automática

luego de configurar nuestro ollydbg generaremos nuestro forzado error  :silbar:

Abrimos PosWin.exe con Olly

y modificamos el primer OP que es PUSH 476E48 por un INT3 y esto nos quedará así:



guardamos los cambios de PosWin:



*Lo guardamos con el mismo nombre

Luego de esto cerramos todo y abrimos Acceso.exe e introducimos un serial falso, luego elegimos algún servicio del submenú y nos aparecerá un error:



le damos a duperar si es que no pusieron "Attach without confirmation"

al abrirlo debemos reparar el error para su buen funcionamiento:



luego de esto le damos F9 y nos vuelve a mostrar el cartel:



ahora buscamos referencias de texto, nos dirigimos al modulo de PosWin:



y luego:



ahora esperamos un buen tiempo ya que el programa tiene mucha referencias de textos y luego de esperar nos aparece lo siguiente:



y si buscamos detalladamente encontraremos algo muy interesante:



Por lo que si ahora nos dirigimos ahí con click derecho en ->follow to dissambler



Notaremos más arriba algunos saltos interesantes, anotemos el más lejano y sospechoso, en este caso:

01155167

Cerramos todo e iniciamos Acceso normalmente y seleccionamos la opción DEMO ya que deducimos que en la parte de comprobación de licencia pasa de todas formas por demo ya que esta tiene dos opciones entre las más importantes DEMO:PRN NO o está REGISTRADO

-nos mostrará el error por lo que tendremos que repararlo nuevamente, luego de esto nos dirigiremos a 01155167 y colocaremos los Breakpoint a los saltos cercanos incluyendo 01155167

luego presionamos F9, tendremos que pasar por varias excepciones hasta que nos aparezca la siguiente ventana:



Le damos aceptar y se detiene en el salto 01155167:



Si presionamos follow (click derecho-> follow) nos daremos cuenta que si saltara se dirigirá a REGISTRADO

por lo que debemos reemplazarlo por un jmp para que siempre salte:



luego si traceamos de nuevo notaremos otra comprobación por lo que esta deberemos eliminarla con NOPS:



y si guardamos los cambios al iniciar nos dirigimos a acerca de nos quedará más o menos así:



4) Ajustes:

!!Cada vez que queramos Iniciar el programa, por obligación debemos iniciar Acceso pero cada vez nos aparecerá la opción de usar demo o introducir el serial  para solucionar este problema estético, visual haremos lo siguiente:

-Abrimos Acceso.exe, luego abrimos ollydbg y le damos a attach
selececcionamos obviamente a Acceso

-Esperamos un poco que carguen los módulos y luego de esperar apretamos F7

-nos dirigimos a M y le damos "Memory on Access" a la sección code

y presionamos el boton usar demo y se nos detendrá en un opcode antes de un jump, este jump se encarga de lanzar el programa

-anotamos el jump



-Ahora reiniciamos Access con Ollydbg (Cntrl+F2)
y nos dirigimos a la dirección de ese jump y colocamos bp en el y en todos los jmp cercanos y luego le damos RUN parará en donde muestra la imagen:



por lo que el primer JMP en que se detuvo fue:

00403D5B

luego si presionamos nuevamente F9 se detiene en:

00403DB6

y si presionamos F9 otra vez se detiene en el jump encargado de lanzar el programa, por lo que deberemos reiniciar Acceso otra vez y poner un BP en el anterior JMP que lanza el programa, con la finalidad de tracearlo hasta su último return y modificarlo por un jump a 00403D34:





guardamos los cambios y al iniciar Acceso nos aparecerá:



en el cual podremos elegir el servicio que necesitemos

pero al elegir uno de ellos este vuelve constantemente a preguntar que servicio queremos elegir por lo que hicimos un bucle por causa de nuestra modificación del RETN 4 por lo que deberemos hacer un jmp condicional tal como lo muestra la imagen:



este salto se dirige a hacer lo siguiente:



-realiza una comparación entre ECX y 12F3CC (12F3CC es el primer valor que toma ECX cuando pasa por RETN 4 y es en ese momento en donde se debe colocar el salto) si este no es 0 retoma el programa normalmente y si es 0 saltará directamente a los servicios

*De todas formas sigue presentando un problema y es que luego de seleccionar el servicio nos muestra normalmente el siguiente cartel:



pero deberemos darle click 3 veces

CitarAunque luego de que se ejecuta el servicio a usar este crea un Acceso directo en algunos casos en donde se obtiene acceso sin tener que pasa por Acceso.exe




5) Datos Anexos:


La ubicación en donde se encuentra el serial cuando se quiere registrar de manera legal está en el acceso directo, este es:

CitarC:\PosWin\V8\Bin\PosWin.exe /S:43969298-5698989 /T:89 /P:01

En donde /S: es el serial que se ha digitado en Acceso, por lo que PosWin corrobora si este se ejecutó o no desde Acceso por los parámetros que lo acompañan a través de la API

CitarGetCommandLineA

por lo que si se crea un acceso directo como mencioné anteriormente este no necesita pasar por Acceso
También dentro del análisis habían muchas APIS que se podrían detallar la forma en que trabajan pero fue un bosquejo rápido

6) Agradecimientos:

apuromafo,MCKSys Argentina,_Enko

Que me han dado muy buenas orientaciones,se han tomado el tiempo de explicar detalladamente mis preguntas y me han alentado en este largo camino

EDIT:

Adjunto Parche



Instrucciones:

-hacer doble click en poswin.v8.1-patch

-presionar patch si no encuentra los archivos se deben elegir de manera manual

-luego ir al directorio en donde se instaló y abrir Acceso.exe

y a Disfrutar

http://www.mediafire.com/?wmpc9be44kywhh9

*el link lo he colocado para que aquellos que no lo lograron puedan sin problemas y por comenté en otros post por si hay gente de esfuerzo que está emprendiendo


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

ThunderCls

Muy bueno el tute, gracias por compartirlo...
por cierto, no estaria de mas que colgaras una version en PDF
saludos
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

revenge1252

#2
perdona por tardar en publicar justo aora estaba subiendo la imagen  :D

entonces a final ya no es necesaria?


en fin cuando quieras me dices tu paypal esos 25 euros son tuyos te los mereces  :P


1000 gracias

PD: me encanto lo de subir el tutto en ves de el crack directamente, porque la verdad aunque no tengo mucho tiempo por el curro y tal siempre me encanto poder aprender todo lo que pueda de estos temas, saludos!  :D :D

farma

Muchísimas gracias, aquí vemos la teoría aplicada a la práctica.

Excelente tutorial, sobre todo porque como en los buenos tutoriales de Ricardo, no sólo pones lo que crees que es el camino correcto, sino que explicas los "errores" que finalmente te llevan al camino correcto.

Saludos,

Fran.

Иōҳ

muy buen tutorial  ;-), y como dice thunder, haste una ver en pdf, así podes llevarla a CLS XD, solo una pregunta, el ret 4 que haces con los valores que queda en la pila?, talvez esto no afecte en nada el funcionamiento del soft, pero no hay que dejar basura en la pila  :silbar:
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

simorg

@ .:UND3R:.

Jeje, muy buen trabajo.  ;-) ;-)


Salu2.

.:UND3R:.

Cita de: [ Thunder | CLS ] en 11 Julio 2011, 16:02 PM
Muy bueno el tute, gracias por compartirlo...
por cierto, no estaria de mas que colgaras una version en PDF
saludos

Muchas Gracias por el apoyo. Lo del PDF me parece buena idea

Cita de: revenge1252 en 11 Julio 2011, 16:13 PM
perdona por tardar en publicar justo aora estaba subiendo la imagen  :D

entonces a final ya no es necesaria?


en fin cuando quieras me dices tu paypal esos 25 euros son tuyos te los mereces  :P


1000 gracias

PD: me encanto lo de subir el tutto en ves de el crack directamente, porque la verdad aunque no tengo mucho tiempo por el curro y tal siempre me encanto poder aprender todo lo que pueda de estos temas, saludos!  :D :D

De nada para eso estamos para ayudar y que bueno que te haya gustado, una duda necesitas los ejecutables ya parcheados?

Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

.:UND3R:.

Cita de: farma en 11 Julio 2011, 19:29 PM
Muchísimas gracias, aquí vemos la teoría aplicada a la práctica.

Excelente tutorial, sobre todo porque como en los buenos tutoriales de Ricardo, no sólo pones lo que crees que es el camino correcto, sino que explicas los "errores" que finalmente te llevan al camino correcto.

Saludos,

Fran.

Gracias farma, si ese método lo tomé de ricardo ya que quizás en este tutorial no sirvieron pero cuando estás solo sin guias ni nada se pueden probar sin ningún problema

Cita de: Иōҳ en 11 Julio 2011, 20:14 PM
muy buen tutorial  ;-), y como dice thunder, haste una ver en pdf, así podes llevarla a CLS XD, solo una pregunta, el ret 4 que haces con los valores que queda en la pila?, talvez esto no afecte en nada el funcionamiento del soft, pero no hay que dejar basura en la pila  :silbar:

Como hago eso para que quede algo más limpio?

Saludos

Cita de: simorg en 11 Julio 2011, 21:00 PM
@ .:UND3R:.

Jeje, muy buen trabajo.  ;-) ;-)


Salu2.

Gracias

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

$Edu$

Excelente Under! buen tutorial!

MCKSys Argentina

Muy bueno! Gracias por compartir.

PS: No te olvides de meterlo en un PDF y subirlo a CLS. Asi quedara para la "historia"...  ;D

Saludos!
MCKSys Argentina

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