Crackkiamo "Becky! Internet Mail  1.25.06"
Una sempliccissima (anche troppo) protezione

 

28 Agosto 1999

by "GeppoXZ"

 
 

UIC's Home Page

Published by Quequero
La mia filosofia dice :
"Quando un app ti chiede
il seriale, daglielo, non
patcharla"
Sono meravigliato non tanto per il tutorial quanto per il mazzo che si è fatto questo ragazzo per riempire questa pagina non con un editor ma con il notepad, quindi a deta sua in puro html, davvero complimenti anche se il mazzo per sistemarla me lo sono dovuto fare pure io :)))), anche il tute è buono, semplice ma ben scritto
In questo caso, mando a fanculo la mia filosofia, seguendo quest'altra"il tempo è poco"
GeppoXZ, #crack-it
Difficoltà

(X)NewBiessimo ( )Intermedio ( )Avanzato ( )Master

In questo breve tutorial  vedremo come registrare questo bel proggie inserendo un qualsiasi numero di registrazione.


Crackkiamo "Becky! Internet Mail  ver  1.25.06"
Una sempliccisima (anche troppo) protezione
Written by GeppoXZ

Introduzione

Mi trovavo a parlare col prof. Quequero (Ma allora siete bastardi :)...NON MI CHIAMATE PROOOOOOOOOOOOOOOOOOOOFFFFFFFFFFFF NdQue), e si parlava giusto dell'UIC. Gli chiesi se la mia iscrizione era a posto, lui controllò e mi disse che non era arrivato nulla nella Mailing List, io meravigliato dissi " Ma come cazzo è possibile, l'ho mandata ieri".Lui mi propose di mandare la mail in quel momento, in modo da aggiustare la situazione. Io la mandai, ma non arrivò nulla. Subito pensai : "deve essere sto cazzo di "gurlmail.com", che non serve a una pippa". Lui mi propose di farmi una nuova mail, presso yahoo.com, in quanto più affidabile. Be, l'ho fatta, è veramente viaggia che una meraviglia. A questo punto, però mi chiedo:
"Me servirebbe proprio un bel proggie, che mi gestisca tutte le mail che ho!!! Che faccio ? Installo Outlook? Manco morto!!".
Allora decisi di farni un giretto da volftp, e lì cercando,cercando,cercando.............finalmente trovai sto proggie, e dissi "può andare, si, scarichiamolo".
Dopo questa bella storiella (che avrà senz'altro scassato le palle a qualcuno), vado a installare il proggie.
 
All' avvio il proggie va a controllare da qualche parte se siamo utenti registrati, in caso contrario ci spara una bella Nag Screen che ci informa che se vogliamo utlizzare il proggie dobbiamo registrarci, clicchiamo sul pulsante "I have paid ang got a password", e si presenta davanti alla nostra vista una bella DialogBox che ci bisbiglia "Dai, registrami".

Tools usati

-Wdasm 8.93
-Hiew 6.15
 

URL o FTP del programma

http://www.rimarts.co.jp
 
Notizie sul programma
Questo programma è un  E-mail client, capace di gestire fino a 20 account diversi, con look alla Micro$oft  Outlook, supporta PGP 2.6, e altre utili funzioni che non sto a elencare. Quando ce lo avrete tra le mani, frugateci dentro e vedete un po cosa tutto puo fare.
 
Essay
Eccoci.........di nuovo.............insieme.......cari ragazzi.....Un'altra storiella? (non mi sembra il caso, giusto Que?). Vabbè se proprio devi :) NdQue
 
Passiamo all'azione..............

Abbiamo due possibilità: 1)Trovare il serial  2)Patchare il proggie.

Questa volta, seguiamo la seconda strada in quanto , ho poco tempo e non ho il cervello in condizione di stare dietro all'algoritmo che genera il seriale, magari un'altra volta.
 
-Vi ricordate di quella DialogBox che ci invita a inserire il Nome, il seriale e l' e-mail?
Be inseriamoci dei valori a caso, clicchiamo su  OK e vediamo cosa ci appare.

Bene, Bene ..........vediamo apparire una MessageBox che ci chiede se il nome e l'e-mail che abbiamo inserito sono corretti, clicchiamo OK anche qui, e vediamo apparire un'altra bella MessageBox che ci informa che il codice che abbiamo inserito non è quello corretto; annotiamoci esattamente quello che la Box dice.

-Carichiamo il nostro fido Wdasm 8.93 (non mi sembra il caso di scomodare IDA, poi il file è anche 1,3 mega , quindi vedete un pò voi, se ci conviene aspettare una 20 di  minuti per disassemblare il file con IDA).

Ora  caricate in Wdasm il nostro target ovvero il file "Rebecca.EXE", aspettiamo un 'attimo..............ecco .
Ora che il file è disassemblato, clicchiamo sulla "String Data Reference", e vediamo se riusciamo a trovare quello che la MessageBox ci diceva, ovvero: "The pass code is not correct"..............aspetta...un pò che guardo............eccolo "String resource ID= 60469 'The pass code is not correct' "
 
Guardate che c'è immediatamente dopo "Thank you.........", che bello
Abbiamo trovato quello che cercavamo.......facciamo doppio clic sulla  "String resource ID= 60469 'The pass code is not correct' " , Wdasm ci  porta nella parte del proggie dove quella particolare String resource viene chiamata è cioè:

 
Jump at Address:

|:0046F44C(C)
|
:0046F528 6AFF                    push FFFFFFFF
:0046F52A 6A00                    push 00000000

* Possible Reference to String Resource ID=60469: "The pass code is not correct."
 
:0046F52C 6835EC0000              push 0000EC35
:0046F531 E8F24A0300              call 004A4028

Proviamo a fare di nuovo doppio clic sulla string resource per vedere se ci sono altre sezioni di codice nel proggie che richiamano la stessa String "The pass...ecc..".............aspetta..................no, non ci sono altre chiamate a questa String Resource. Le cose si mettono molto bene.......anche troppo.

-Vedete  quel

Jump at Address:

|:0046F44C(C)
.....................................
....................................

bene..............quel :0046F44C, ci dice che nel  code data 0046F44C , ci sta un   jmp, o un jne o un je ecc..... che fa saltare il nostro proggie alla parte di codice in cui ci informa che il codice che abbiamo inserito non è esatto.........andiamo a vedere...

:0046F43F 50                               push eax

:0046F440 E82EC10200              call 0049B573
:0046F445 E859A0FFFF             call 004694A3
:0046F44A 85C0                          test eax, eax
:0046F44C 0F85D6000000          jne 0046F528------------------>che vi dicevo
:0046F452 8B33                           mov esi, dword ptr [ebx]
:0046F454 E8D5250400              call 004B1A2E
:0046F459 8B4004                       mov eax, dword ptr [eax+04]
:0046F45C 56                               push esi


(Di solito , dopo  che ho trovato il punto in cui  il proggie salta alla Beggar_off(The pass code is not correct...in questo caso) vado a spulciare un po più su nel codice, per vedere se c'è qualche altro jump sospetto, che mi manda le cose a puttane....ma qui sembra tutto apposto)

-L'unica cosa che dobbiamo fare è noppare quel "jne 0046F528", in modo da non  saltare mai alla beggar_off: Infatti se noppiamo quel "jne", e seguiamo  l'evoluzione del codice visivamente,vediamo che si va a finire in questo punto del codice:


: 0046F4CA                     push 00000040

* Possible Reference to String Resource ID=60470: "Thank you for the registration!"
 
:0046F4CC                   push 0000EC36
:0046F4D1                    call 004A4028
:0046F4D6                    mov eax, dword ptr [004E00D4]

ed è proprio il punto in cui  noi vogliamo che vada a finire...giusto?

Riflessione: "Sicuramente noppando solo quella istruzione ("jne 0046F528"), il proggie non sarà registrato, perchè   farà qualche check all'avvio, per controllare se noi abbiamo inserito dati alla cazzo, o il codice giusto"

Il check può essere fatto : 1)Dal registro di configurazione 2) Da un Key File 3) Da un file ini  o altri ...i più comuni e usati sono questi.

Non ci credete? andiamo a provare........
 
Noppiamo quel "jne", portiamoci sul code data : "0046F44C          jne 0046F528" e segniamoci  l'offset (la barra in basso dove c'è scritto @Offset:0006F44Ch, quello è l'offset, tranne la h che sta per HEX(esadecimale).

Apriamo il file "REBECCA.EXE" con HIEW ,premiamo F4, decode, poi F5, scriviamo il nostro offset  6F44C [INVIO],  siamo arrivati nella parte di codice che dobbiamo modificare ,premiamo F3, e sostituiamo "0F85D6000000" con "909090909090", F9 per salvare le modifiche.
 
-Avviamo il proggie, e vediamo un po che ci dice.....................op....ma guarda un po..una MessageBox che ci informa che il nostro fake serial è illegale.........un' altro po e mi  dice anche il serial giusto........che programmatori......(non ci volevo credere..un 'assurdità, mio cugino che ha 10 anni, son sicuro che riesce a fare una protezione migliore).

Troppo facile......per noi ragazzi....ma va be............

-Facciamo di nuovo il procedimento, che abbiamo seguito per trovare la MessageBox "The code pass..ecc.", solo che ora cerchiamo "Illegal code", l'avete trovato? bene......

 
 
00469E7F                   call 0049B573

:00469E84                   call 004694A3
:00469E89                   test eax, eax
:00469E8B                   je 0046A01D---------------->salta se sei un utente registrato
:00469E91                    push 00000000
:00469E93                     push 00000000

* Possible StringData Ref from Data Obj ->"The pass code is illegal."
 
:00469E95                       push 004DF8EC
:00469E9A                      call 004A3FF0
:00469E9F                       push ebx

Vedete quel  "je  0046A01D", noi dobbiamo fare in modo che salti sempre così da far credere al proggie di essere registrati.
Facciamo come prima: ci segniamo l'offset di quella istruzione, andiamo in HIEW e la modifichiamo o in JNE oppure in JMP, come volete ,tanto salterà comunque, ve lo dico io.

-Avviate il proggie........ ora siete utenti registrati

-Il proggie(prgramma in questione, App o come la chiamate voi), salva i dati della registrazione nel registro di configurazionee precisamente in : HKEY_CURRENT_USER\Software\RIMArts\Rebecca\License,   notate quel RBK-(è la prima parte del serial esatto)


P.S= Dimenticavo, non lasciate mai vuoti i campi di nome, serial, ed e-mail, altrimenti  vi dirà che non siete registrati. Non c'è bisogno di andare a noppare anche quella parte di codice,(che controlla se  avete inserito qualcosa) vero? sarebbe dare troppa importanza a sto proggie così protetto male. (ma che protetto)
 
Note finali 

I programmatori di Becky- Internet Mail, la canna se la dovrebbero fare dopo che hanno finito il programma , non prima.

Un saluto a cod (m'ha mandato 2 CD pieni di tools di cui 1 anche con 7000 virus; Ho dovuto comprare lo sciroppo da un litro per il PC), a tutti i frequentatori di #crack-it, al prof Quequero Eddaiiiiiiii co sto Prof mo inizio a da menà :)...Tanto lo so che per dispetto mi ci chiamerete a vita, vi avverto cmq che quando la mia iguana sarà lunga 1.80m vi farò dilaniare hahahahahaahahahahahahahaha :) NdQue, nonchè a tutti coloro che come me hanno voglia di apprendere qualcosa da qualcuno
 

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   Anonimato   Assembly    ContactMe  CrackMe   Links   
NewBies   News   Forum   Lezioni  
Tools   Tutorial 

UIC