Copy Link
Add to Bookmark
Report

Comment cracker un DCU

DrWatson's profile picture
Published in 
guide hacker
 · 4 years ago

08/31/99
Par Th3 KiinG
KiinG@altern.org

1- Introduction


Bienvenue dans mon premier cours de cracking. Aujourdhui nous allons nous attaquer a une sorte de fichier autre que les ExÈcutable... Nous allons cracker un DCU (Un DCU c'est une sorte de fichier crÈer par Delphi qui contient un .PAS CompilÈ). Dabitude, les autheurs de composent pour Delphi ne veule pas distribuer le Code Source de leur controle alors c'est pour cette raison qu'il nous donne juste la version CompilÈ.

2- *IMPORTANT*


*Comme vous avez du le remarquer, il y a 6 *version* (C'est pas vraiment des version diffÈrente de Extra Pack, c'est juste quel ont ÈtÈ adapter a une version particuliere de Delphi ou de C++ Builder) dans ce tutorial, j'ai cracker Extrapack fait pour Delphi 4. En thÈorie toute les version devrait etre a peu pres pareil mais j'ai pas tester....

3- Info


Soft a Cracker: EXTRAPACK (http://www.evgesoft.com/dev/)

Outils: W32dasm & Hex Workshop (ou nimporte quel autre Èditeur ExadÈcimal)

3- Go !!


Bon, Commencons par Installer le Composent et de regarder quel est la protection... Arghhhhhhhhh !!! Des Nag Screen !!!

Note: Les NaG Screen n'aparaisse que quand Delphi est Fermer...

Sa pourais etre bon de Noter le msg du Nag Screen... Apres, aller dans DÈmarer/Rechercher/Fichiers ou Dossiers et rentrer le Path ou vous avez
installer ExtraPack. Dans mon cas sa donne: C:\Extrapack\lib.d4 mais si vous cous cracker ExtraPack pour delphi 3 ben vous allez a remplacer le lib.d4 par lib.d3... Cliquer sur l'onglet AvancÈe et dans la Textbox nommÈ "Contenant le texte" marquer le msg du Nag Screen de taleur (This application makes use of unregistered...). Bon Apres avoir cliquÈ
sur Rechercher vous devriez avoir trouvÈ 2 fichier:

  
DExtraPack4.bpl
EffBmp.dcu


Maintenant on sais dans quel fichier il va falloir PatchÈ :o)

Vu que dÈsasembler directement EffBmp.dcu ne marche pas tres bien et que DExtraPack4.bpl fasse planter W32dasm, nous allons crÈer un .exe utilisant un controle de ExtraPack (Nimporte lequel...) et le dÈsasembler. Apres on clique sur le bouton "String Reference pis on cherche pour de quoi qui resemblerais au msg du nag (This application make uses of...) Quand on a trouver, on double click dessu
et on est suposer de voir de quoi qui ressemble a sa:

  
* Possible StringData Ref from Code Obj
->"This application makes use of "
->"unregistered shareware components. "
->"You may want to inform the developer "
->"so that properly registered components"
->"may be included.More information "
->"on http://www.evgesoft.com/dev/ "
->"and e-mail:dev@evgesoft.com"
|
:00448670 BA90864400 mov edx, 00448690
:00448675 A10CEE4400 mov eax, dword ptr [0044EE0C]
:0044867A 8B00 mov eax, dword ptr [eax]


Si vous voyer pas ben remonter un peu... Bon, maintenant il ne nous reste plus qua trouver le call qui envoille le programme ou on est.
On n'a qua remonter un petit peu pour voire plein de patente de meme:

  
* Possible StringData Ref from Data Obj ->"TAppBuilder"
:0044864C 6804EB4400 push 0044EB04
* Reference To: user32.FindWindowA, Ord:0000h
:00448651 E8EADAFBFF Call 00406140


On voit tout de suite qu'ici le programme utilise l'API FindWindow (Le A a la fin c pour dire que c du 32 bit...) pour voire si Delphi est lancÈ. Si il trouve Delphi et bien il n'affichera pas le Nag Screen mais si il ne le trouve pas et bien il va nous faire chiÈ avec son putain de Nag... On pourais toujours NoppÈ (Sa veu dire remplacer une instruction par un Nop (90 en Hexa)) tout les Saut mais sa serait une perte de temp car il y a une facon beaucoup plus facile. Nous n'avons qua remonter encore un peu (pas mal en faite) jusqua temp de trouver les lignes suivante:

  
* Referenced by a CALL at Address:
|:004487B5 ;Note: L'adresse peut changer...
|:004485B4 55 push ebp
:004485B5 8BEC mov ebp, esp
:004485B7 51 push ecx
* Possible StringData Ref from Data Obj ->"Delphi 2.0"


Comme W32dasm nous le dit, c'est un Call qui appele le Nag... Donc, Pour enlever le Nag nous n'avons qua ajouter un Ret juste en dessous du Call Reference. On ouvre notre …diteur Hexa et on change la byte 55 par C3 (Le code Hexa pour un Ret). Apres avoir modifiÈ le .exe et apres l'avoir redÈsasembler sa devrait nous donner ceci:

  
* Referenced by a CALL at Address:
|:004487B5 ;Note: L'adresse peut changer...
|:004485B4 C3 ret
:004485B5 8BEC mov ebp, esp
:004485B7 51 push ecx
* Possible StringData Ref from Data Obj ->"Delphi 2.0"


Maintenant on peut lancer le .EXE sans jamais voire le Nag Screen !!! Mais un vrai cracker ne s'areterais pas la... Il irais aussi Patcher les 2 autres fichiers (vous vous rapeler de DExtraPack4.bpl & EffBmp.dcu que je vous ai fait chercher toutaleur ??). Vu que Delphi ne fait que CopiÈ le .DCU dans le .exe quand on Compile on devrait retrouver le meme code dans les DCU que dans l'…xÈcutable. Allons voir, on ouvre DExtraPack4.bpl avec notre Èditeur Hexa et on recherche un bout de code qu'on a vu dans W32dasm.


=ATTENTION=

Petite Paranthese:

Bon je suis sure qu'il y a du monde qui me suive pas quand je dit de rechercher un bout de code qu'on a pris dans W32dasm. C'est pourtant simple !!! Vu que les offset & Code Data ne sont pas pareil dans W32dasm & Hex Workshop nous devons prendre la valeur hexa d'un bout de code (a peu pres 5 bytes...) et la rechercher dans Hex Workshop.
Exemple:

  
------------ ----------------
:004485B4 |55 | | push ebp |
:004485B5 |8BEC | | mov ebp, esp |
:004485B7 |51 | | push ecx |
:004485B8 |6810EB4400| | push 0044EB10|
------------ ----------------
1 2


Tout ce qui est dans l'ensemble 1 ce sont les valeur Hexa des Instruction Asm Contenue dans l'ensemble 2

Donc, Pour aller a la place ou est W32dasm dans Hex Workshop vous devez
recherchez (avec la Value Hex bien sur...):

  
558BEC6168


Note: Ares avoir trouver une place ou il y a les bytes que vous recherchez, n'oubliÈ pas de rechercher encore plus loin parceque ce n'est pas rare qu'il y ait les bytes que vous recherchez a 2 ou 3 place
diffÈrente dans le program...

Fin de la Petite Parenthese.


Apres avoir trouver ou il faut Patcher, Il ne vous reste plus qua remplacer la byte qui contien 55 par C3. Sa devrait donner quelque chose dans ste genre la:

  
http://www.evge
soft.com/dev/ an
d e-mail: dev@ev
gesoft.com..U..3 *Ici qu'il faut Patcher 00558B en 00C38B (en Hexa)
.Uh..D.d.0d. ...
.D.3.ZYYd..h..D.
........]....-..


Et apres vous devez refaire la meme chose dans le fichier EffBmp.dcu:

  
/www.evgesoft.co
m/dev/ and e-mai
l: dev@evgesoft.
com..U..3.Uh%... *Ici qu'il faut Patcher 00558B en 00C38B (en Hexa)
d.0d. ......3.ZY
Yd..h,..........
.]..-.....s.....

4- Conclusion


Bon... C'est fini, en principe vous ne devriez plus jamais voire cette maudite Nag Screen (Magique non ??) et vous devriez etre capable de cracker tout les composent qui sont fait dans le meme genre !! J'espere que vous avez compris (et appris :o) de quoi dans ce tutorial la pis que vous vous ete pas endormi en le lisant :))

Je tien a remercier tout le monde du channel #Crack.fr (UNDERNET) pour toute les fois qu'il m'on dÈpanner ;))

Si vous avez trouvÈ des erreur (pas dortograffe parceque la sa finirais
plus...) dans ce tutorial ou bien si vous voulez juste m'envoiller un commentaire, proposition... ben Ècrivez moi !! Meme si c juste pour me
dire que vous avez lus mon tut !!


Th3 KiinG
<kiing@altern.org>

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT