Pretty Good Privacy 5.5.5
(quando la protezione fa c*g*r*)


25/08/1999

by Ritz

 

 

UIC's Home Page

Published by Quequero



Altro tutorial by Ritz, decisamente indicato per i NewBies e come al solito molto ben scritto...bravo Ritz :)

 
 
E-mail: [email protected]
Nick: Ritz, UIN: 41793377, #crack-it
 

Difficoltà

(X)Deficiente ( )NewBies ( )Intermedio ( )Avanzato ( )Master

 

Ciao a tutti! Ci si rivede eh? No, non vi preoccupate, non pensate "Ao ma questo nun l'aveo mai sentito prima... si è messo a fare tutorial a nastro?" Don't worry, questo tute è una vera e propria schifezza. Anzi no, il tute è bello :)), è la protezione che è una schifezza.


Pretty Good Privacy 5.5.5
(quando la protezione fa c*g*r*)
Written by Ritz

Introduzione


Allora, in questo tute cercherò di spiegarvi come a volte le protezioni di un programma possano rivelarsi più semplici del previsto... l'unico problema è TROVARLE!!

Tools usati

SoftIce 3.24
W32Dasm
Hiew 6.04 (o cmq un editor esadecimale)

URL o FTP del programma

Azz il PGP lo trovate dappertutto... cmq dovrebbe essere www.pgp.com. Provate anche www.pgpi.com NdQue

Notizie sul programma 

Il programma penso sappiate tutti a che serve: è un proggy di crittazione a chiave asimmetrica, cioè per crittare e decrittare non si usa la stessa chiave... molto sicuro quindi per scambiarsi ad esempio e-mail senza essere sgamati... per un tute sul funzionamento della crittazione a chiave pubblica vi rimando a "Newbies 2" o BFI per i più esigenti :)). Consiglio di acquistarlo perchè dopotutto bisogna ricompensare i programmatori della Network Associates che hanno fatto un così buon lavoro (a parte la protezione facilmente scazzabile :)))).

Essay

OK se parte...

Installato il PGP? Sì? Bene, avviatelo... anzi no... prima cavate l'icona dal Tray, quindi portate la data del Windouz avanti di 46 anni. Riavviate il PGP. Vi appare un nag screen del cazzo che vi dice che i prog è scaduto? Bene, siete a cavallo! Entrate in Sice con CTRL+D e mettete un bpx messageboxa per intercettare l'API che fa apparire il messaggio. Uscite dal Sice e caricate il Pretty Bad Protection (scherzo eh?) da Start/Programmi/Pretty Good Privacy/PGPtools.

Ora ci dovremmo aspettare che il debugger poppi prima della schermata: INFATTI! BINGO! Premete F11 per entrare nella DLL (o l'EXE) che genera la chiamata, e, azz, appare la schermata del proggy... pork putt, come mai non siamo entrati nel codice? Boh, cliccate su OK e.... il SoftIce ripoppa! Questa volta diretamente su una DLL del PGP: PGP55cd.dll, localizzata in C:\WINKAZ\SYSTEM, e precisamente in questo punto:

:0048A202 POP EDI

Bene, ora non vi resta che fare una cosa: disassemblate la cara PGP55cd.dll col Dasm. Fatto? Vabbè... tanto per sicurezza andiamo a guardare le String Data References, sarà impossibile trovare qualcosa, cmq tentiamo: clicchiamo sul secondo pulsante della barra partendi da destra, osserviamo un po' le stringhe... hum hum... mumble mumble... osservate un po' la nona partendo dal basso: "Thank you for evaluating Pretty", cazzo ma non è la parte iniziale del testo della messagebox da fottere? fateci doppio clic sopra; vi troverete qui:

 * Jump at Address:
|:10002814(C)
|
:10002867               cmp dword ptr [esp+24], 00000002
:1000286C               jne 10002876
:1000286E               add dword ptr [esp+08], 00278D00

* Jump at Address:
|:1000286C(C)
|
:10002876               cmp esi, dword ptr [esp+08]
:1000287A               jbe 10002881 <--- Mi suona sinistro jump if below or equal...

* Possible Reference to String Resource ID=00001: "General strings"
                                  |
:1000287C               mov edi, 00000001

* Jump at Address:
|:1000287A(U)
|
:10002881               mov eax, edi
:10002883               pop edi
:10002884               pop esi
:10002885               add esp, 00000014
:10002888               ret


:10002889               nop
:1000288A               nop
:1000288B               nop
:1000288C               nop
:1000288D               nop
:1000288E               nop
:1000288F               nop

* Referenced by a CALL at Address:
|:100027A2   
|
:10002890               sub esp, 00000400
:10002896               mov ecx, 00000040
:1000289B               lea eax, dword ptr [esp]
:1000289F               push esi
:100028A0               push edi

* Possible StringData Ref from Data Obj ->"Thank you for evaluating Pretty "
                                        ->"Good Privacy.  The 60"
                                  |
:100028A1               mov esi, 100280F8
:100028A6               lea edi, dword ptr [esp+08]
:100028AA               repz
:100028AB               movsd
:100028AC               mov ecx, dword ptr [esp+0000040C]
:100028B3               push 00000000
:100028B5               movsw

Visto bene il codice...? Dunque a :100028A1 viene generata il nag-screen, quindi nei dintorni ci dovrebbe essere qualcosa di utile... vediamo un po'... osservate :1000287A, un jbe.. cambiandolo in je o JMP forse... naaaa troppo facile... cmq vale la pena tentare, vero? Segnatevi l'OFFSET (1C7A) e cambiatelo con HIEW (non vi spiego come si fa, se non lo sapete leggete l'altro mio tutorial :))): provate a mettere, che so, jump incondizionato, tanto 99% non funzionerà... fatto? Bene, avviate il PGP, e pork putt azz tr!! Programmillo crackato!! Facile no? Beh, che dire, tute finito.

Non ho altro da aggiungere. Vabbè, non mi resta che augurarvi H A P P Y C R A C K I N G!!!

SeE yOu SoOn, ciauzzzz

 

                                                                                                                 Ritz
 

N.B.: ricordatevi di riportare indietro la data di WINCESS dopo avre finito tutto eh?

P.S.: mi è venuta in mente appena ora una cosa interessante che non centra nulla col cracking: il calendario di Windozz dovrebbe fermarsi al 2099: se io imposto la data al 31 dicembre 2099 e poi il giorno dopo riavvio che succede? Magari vengo trasportato in un'altra dimensione dove tutto è posseduto da Microsoft e il dittatore assoluto è Bill Gates... meglio lasciar perdere... se qualcuno ha il coraggio di farlo... mi scriva per comunicarmi i risultati... :-))))

 

Note finali

Vorrei ringraziare e salutare anche questa volta Quequero per aver pubblicato l'articolo (trooopppooo gentileee), i ring0, il chan crack-it.

Saluto anche DFX e il Mora, amici di scuola e IRC.

Grazie inoltre a chi è arrivato a leggere fino a qui e ne ha tratto profitto :)). Per qualsiasi cosa, scrivetemi [se usate il PGP (per il crack basta che cerchiate in rete... ihihihihih) mandatemi la vostra chaive].

Disclaimer

Vorrei ricordare che il software va comprato e  non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.
Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.

 
UIC's page of reverse engineering, scegli dove andare:

Home   Assembly   ContactMe   CrackMe   Links   
NewBies   News   Forum   Lezioni  
Tools   Tutorial 

UIC