CRACK de Quick View Plus 4.5

By Nody

Intro.  

 

Logiciel : Quick View Plus 4.5

Source : Beaucoup de mag. récents dans le répertoire 'tools'

Outils : W32Dasm, Soft-Ice et un éditeur hexa

Commentaires :

Quick View Plus permet de visualiser plein de formats pratiques, il est assez rapide, discret, bref à cracker absolument. Je crois qu'il est protégé par TimeLock de chez PreviwSoftware, mais bon, ne nous laissons pas intimider par ça.

Ce crack est destiné aux débutants.

 

Le Crack.

On démarre QVP, oh c'est beau. Que ce passe-t-il si on avance l'horloge système ? Bein, ça marche plus. Sous Soft-Ice, mettez un 'bpx dialogboxparama' pour essayer de repérer qui appelle la boite de dialogue qui nous envoie chier. Re-démarrez QVP et appuyer sur F12. On arrive dans QVP.DLL en 201DD102. C'est parti, on désassemble ce fichier.

Regardez ce qu'il se passe au-dessus et il y a quelques sauts conditionnels qui passent au-dessus de la DialogBoxParamA. Si vous voulez, vous pouvez forcer le saut conditionnel en JMP, mais bon, premièrement, c'est faible, et deuxièment, le prog. vous renverrez une 2ème DialogBoxParamA que vous pourrez forcer car il y a un saut conditionnel au-dessus de celle-là aussi, mais le prog vous renverrz une 3ème DialogBoxParamA, etc..... en tout, vous allez patcher une dizaine de sauts conditionnels avant de voir marcher QVP.

Je vous propose une autre méthode : on est dans QVP.DLL, ok  ? Ça sert à quoi des DLL ? A exporter des fonctions (API) utilisables par un autre prog ? Donc on va aller voir dans quel API on se trouve, pour ça il faut remonter le code .... et on tombe sur :

Exported fn(): QVPTrialWareStart - Ord:000Dh en 201DCF50

J'espère qu'en remontant le code, vous avez fait attention aux autres String Data Référence comme TL32V20.DLL (quoi Time Lock v2.0 ??), ou _getUserNumDaysLeft, etc .....

On va maintenant regarder qui appelle cette API. Démarrez le Symbol Loader de Soft-Ice, puis faites File/Load Exports et sélectionnez QVP.DLL et quittez le Symbol Loader.

Démarrez QVP et par magie on tombe sous Soft-Ice, faites un F12, et on voit la petite DialogBoxParamA au passage et enfin on arrive à :

---QVP!QVPManager+0026-----------------------------------------------------------------

015F:210DD120  Call DialogBoxParamA

    etc.....

--------------------------------------QVP!.text + C1F6--------------------------------------

Bref, on arrive dans QVP.DLL dans l'API QVPManager. On retourne sous W32Dasm, on recherche cette 'exported function' et elle se trouve en 201DD1D0.

Un peu plus bas, on trouve :

* Possible Reference to Dialog: DialogID_0001

:201DD1F4    push 01

* Reference To: QVP.QVPTrialWareStart

:201DD1F6    call 201DCF50            ; appel de l'API
:201DD1FB    add esp, 00000004        ; on rétablit la pile
:201DD1FE    test eax, eax                     ; eax = 0 ??
:201DD200     je 201DD8CC                 ; si oui, on saute !

etc.....

Noper un coup le 'je' en 201DD200 et que se passe-t-il ? Le prog. démarre ! Choisissez un fichier à visionner et que ce passe-t-il ? Ça marche pas ! Et pourquoi ? Si vous aviez laissé votre bpx qvptrialwarestart, vous auriez vu qu'entre 2 il y a une autre DLL qui appelle l'API. Donc ce qu'on va faire, c'est cracker d'une part le 'je' au-dessus, puis l'autre DLL qui appelle l'API QVPTrialWareStart ??? Surement pas, on va cracker l'API directement !!!

Qu'est-ce qu'il se passe juste après le call 201DCF50 ? Il y a un test eax, eax qui vérifie si eax = 0, et saute si c'est le cas. Nous on ne veut pas qu'il saute donc il faut que eax = 1. Maintenant, supposons que l'API QVPTrialWareStart ne serve qu'à vérifier la date, on peut alors la déplomber en mettant 1 dans eax et c'est tout, ce qui donne :

API originale :

Exported fn(): QVPTrialWareStart - Ord:000Dh                                                                                      

                                                                (code hexa)

:201DCF50    sub esp, 00000124         81 EC 24 01 00 00
:201DCF56    push ebx                         53
:201DCF57    push esi                          56

etc .......

API modifiée :

 

Exported fn(): QVPTrialWareStart - Ord:000Dh

:201DCF50    mov eax, 00000001         B8 01 00 00 00
:201DCF55    ret                                    C3


Sauvegardez votre nouvelle DLL. Re-démarrez QVP et vérifier que tout marche bien....

Rien de bien extraordinaire dans cette protection, pour un programme se disant protégé par un système commerciale. ACDSee v2.xx utilise a peu près la même protection sans avoir fait appel à Preview Software.

 

 

 

Et voilà, QVP 4.5 version version d'essai n'est plus. Faîtes en bonne usage mais d'oublier que ce que vous êtes en train de lire est une AIDE pour les crackers débutants !! Si vous vous en servez à un autre usage, allez sur un moteur de recherche, cherchez un patch pour QVP45, mettez-y votre nom et soyez heureux mais vous n'êtes pas cracker alors mais simple copieur.

 

nodless@usa.net