Troviamo il seriale per WinZip 8.0
Appena uscito, gli freghiamo il seriale!


26/12/99

by "-->VanadiuM<--"

 
 

UIC's Home Page

Published by Quequero


Provoca il più bravo...

La routine di protezione del WinZip 8 è praticamente la stessa del WinZip 7, non cambia quasi nulla :) ed anzi, è peggiore della prima :))), Bravo Vanadium che è al suo primo tutorial

... e morirai come uno schiavo! (Hackers)
UIC's form
E-mail: [email protected]
IRC chan:   #cisco
UIC's form

Difficoltà

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

 

Non sono ancora riuscito a capire come mai possono funzionare due seriali diversi per lo stesso nome! Difatti quello che ho trovato (per il mio nick) è 64341BB7 (e funziona benissimo), ma con un keymaker (che avevo per la versione 6.0-6.3-7.0-7.0 SR-1) ottengo il seriale 35927299 che funziona ugualmente.


Our reversing will go on... (non era così quella del titanic?)
Troviamo un seriale valido
Written by -->VanadiuM<--

Introduzione

In questo stesso sito, è presente una guida al cracking di WinZip 7 SR-1, ma io vi propongo un reversing per ottenere un seriale valido! Non ci vuole molto (nè tempo, nè molta pazienza), e all'incirca dopo cinque minuti avremo il nostro bel serial.

Tools usati

SoftIce

URL o FTP del programma

http://www.winzip.com

Notizie sul programma 

Chi non conosce WinZip, il miglior compressore/decpmpressoredi file zip e non solo. Per questo programmuzzo, otterremo un serial a 8 (otto :-) cifre.

Essay

Per prima cosa apriamo il WinZip e vedremo un brutto Nag-screen che ci informa (come se non lo sapessimo) di non essere utenti modello (e quindi registrati). Clickiamo su "enter registration code", inseriamo un nome a caso ed entrando in sice (con Ctrl + D) settiamo due breakpoint (non sappiamo quale delle due funzioni usa, anche se io lo so' ;-) sulle funzioni "getwindowtexta" e "getdlgitemtexta". Pigiamo il pulsante Ok ed eccoci in sice. Usciamo dalla chiamata (F11), disabilitiamo i breakpoint (bd*) e diamo un'occhiata. Ci troviamo all'indirizzo 407F6D, ma non ci interessa (vengono solo presi i nostri dati) e steppiamo (F10) fino a 407FB5 dove notiamo un istruzione sospetta:

* Reference To: USER32.GetDlgItemTextA, Ord:0104h
|
:00407F8F FF1528744700 Call dword ptr [00477428]
:00407F95 56 push esi
:00407F96 E8FF780300 call 0043F89A
:00407F9B 56 push esi
:00407F9C E822790300 call 0043F8C3
:00407FA1 803D78CD480000 cmp byte ptr [0048CD78], 00 <------ Verifica che la casella 1 non sia vuota
:00407FA8 59 pop ecx
:00407FA9 59 pop ecx
:00407FAA 7459 je 00408005 <------ Se è vuota, salta
:00407FAC 803DA4CD480000 cmp byte ptr [0048CDA4], 00 <------ Verifica che la casella 2 non sia vuota
:00407FB3 7450 je 00408005 <------ Se è vuota, salta
:00407FB5 E81BFAFFFF call 004079D5 <------ Istruzione sospetta
:00407FBA 85C0 test eax, eax
:00407FBC 7447 je 00408005
:00407FBE 57 push edi

una call seguita da un test e da un salto!!!!! Ci conviene forse provare qualcosa? Io direi di si! Innanzitutto, se non siete il mago di Oz, il seriale sarà sbagliato, e quildi il salto condizionato se uguale (je) verrà effettuato, e cosa facciamo noi? Con un po' di arguzia, proviamo a modificare il risultato di quel salto (con "r fl z"), e usciamo a sice. Come per magia il nostro WinZip -->SEMBRERA'<-- registrato (forzato), ma non è così, perchè i nostri cari amici della Niko Mak Computing hanno inserito dei check multipli, che ad ogni avvio verificano la registrazione. La cosa più importante è che abbiamo trovato il punto in cui attaccare il programma, ovvero alla chiamata all'indirizzo 004079D5. Riattiviamo i breakpoint, e arriviamo ancora alla call, ma questa volta entriamoci e cerchiamo qualcosa di poco convincente... Step... Step... Step, eccoci all'indirizzo 407A9E, dove viene mosso in esi un valore da 48CDA4, dopo viene ricavato in eax un valore da [ebp-0140], poi vengono usati questi due valori in una call a 004692D0 dove sicuramente ci sarà un check che comparerà questi due registri. Se andiamo a spiare i due registri, troveremo in esi il numero seriale falso, ed in eax il nostro numero seriale. Se proviamo ad uscire dal sice e ad inserire questo alposto di quello fasullo, il programma si registrerà e non ci darà più noie!

Note finali

Questo è il mio primo tutorial (e spero che non sia anche l'ultimo), realizzato la sera stessa dell'uscita di WinZip 8.0 (che velocità...). Spero che Quequero non mi maledica perchè ho fatto qualche errore, comunQue saluto tutti: D-master, Ninjanet (che nick da deficente che si è scelto!), Loide (e purtroppo questo non è il suo nick, ma è il suo nome), ekekko, e Andrea Santurbano!

-->VanadiuM<--

Disclaimer

Queste informazioni sono solo a scopo puramente didattico. Ne il sottoscritto, ne Quequero potranno essere condannati se con queste info farete calare di un punto le azioni della Niko Mak Computing. Noi non vi insegnamo a rubare i software, ma a capire come funzionano per comprendere il grande sforzo fatto dai programmatori per svilupparli.

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

Home   Anonimato   Assembly    CrackMe   ContactMe   Forum   Iscrizione      
       Lezioni    Links   Linux   NewBies   News   Playstation        
  Tools   Tutorial   Search   UIC Faq

UIC