jueves, 10 de febrero de 2011

Parcheando Personal Finances Pro 4.3




Personal Finances Pro 4.3

  • Herramientas
  • Olly Dbg Shadow
  • HDASM

  • ¿Que se planea lograr con este tutorial?

    Lo que se planea es lograr que no salte la molesta ventana que muestra que estamos en modo "trial".

  • Tutorial


    Al abrir el programa por primera vez nos aparece una molesta ventana que indica que estamos en el modo trial .

    NOTA: En mi caso por que cambie la fecha aparece que me quedan 0 dias pero a ustedes les dira que le quedan 30 dias.



    Al ver la imagen lo primero que noto que aunque todo el programa lo tengo en un idioma raro sigue el "Days Left" , gracias a esto tendre un punto de referencia , para encontrar dicho punto de referencia lo que haremos es abrir el programa con HDASM y procedimos a seleccionar todas las secciones tal como muestra la imagen



    Luego le damos a Disassemble cuando el programa termina de analizar nuestro .exe iremos a "References->String References" y nos pondremos a buscar nuestra cadena magica "Days Left" y al aparecer le daremos doble click.



    Este programa nos enviara a una dirección que sera la que ocuparemos de referencia (0x006B290B).


    Abrimos nuestro Personal Finances Pro 4.3 con el "Olly DBG Shadow" y nos vamos con "ctrl + g" a 006B290B y en ese lugar pondremos un BP con F2


    Lo ponemos a correr con F9 y nos ponemos a debuggear con F8 , luego de un rato de debuggear notaremos que estabamos dentro de una función al ver el "RETN" en 0x006B2985 al salir de dicha funcion veremos 2 saltos condicionales en 6C2498 y 6C24D5 los dos son "JE" los cambiamos por su contrario "JNE" y echamos a correr el programa y WALA!! no saltara mas la ventanita lo guardamos y listo :D

    Código
      /*6C247E*/  MOV DWORD PTR SS:[EBP-4A4],EAX
    /*6C2484*/  MOV BYTE PTR SS:[EBP-4A5],1
    /*6C248B*/  MOV EDX,DWORD PTR SS:[EBP-37C]
    /*6C2491*/  CMP DWORD PTR DS:[EDX+55C],0
    /*6C2498*/  JE SHORT Personal.006C24C2
    /*6C249A*/  MOV ECX,DWORD PTR SS:[EBP-37C]
    /*6C24A0*/  MOV EAX,DWORD PTR DS:[ECX+55C]
    /*6C24A6*/  PUSH EAX
    /*6C24A7*/  MOV EDX,DWORD PTR DS:[EAX]
    /*6C24A9*/  CALL DWORD PTR DS:[EDX+40]
    /*6C24AC*/  POP ECX
    /*6C24AD*/  MOV EDX,EAX
    /*6C24AF*/  XOR ECX,ECX
    /*6C24B1*/  MOV EAX,DWORD PTR SS:[EBP-4A4]
    /*6C24B7*/  CALL Personal.006B2988
    /*6C24BC*/  MOV BYTE PTR SS:[EBP-4A5],AL
    /*6C24C2*/  MOV EAX,DWORD PTR SS:[EBP-4A4]
    /*6C24C8*/  MOV DWORD PTR SS:[EBP-2FC],EAX
    /*6C24CE*/  CMP DWORD PTR SS:[EBP-2FC],0
    /*6C24D5*/  JE SHORT Personal.006C2507
     
     

3 comentarios:

Luigui1078 dijo...

Excelente!! . Seguí paso a paso lo que dice acá y ya se salta la ventanita del límite de días. Yo actualice un archivo de la versión 3.6 que tiene meses de registros de transacciones, pero cuando intento registrar una nueva transacción me salta la ventana del límite de 200 transacciones.
Sabrás donde se puede modificar el ejecutable, para saltarse esta restricción también?

De antemano, muchas gracias por tu ayuda!!

Marco Almonacid dijo...

Si fueras tan amable de subirme el archivo a megaupload para hacer pruebas , para ver si lo puedo saltar y posteriormente hacer un tutorial :)

Luigui1078 dijo...

Gracias!! http://www.megaupload.com/?d=OX9UUEV6 En el .rar va la carpeta completa del programa y el pfd de ejemplo con más de 200 transacciones es el demo_portuguese.pfd. El .exe ya está modificado según este tutorial.

Publicar un comentario