Copyleft Ctrl_alt_canc
     
    
                         
Ecco la sezione dedicata ai crack di programmi commerciali.



PACIFIC HEROES

    PacificHeroes                                23/05/2007               

Link al PDF:

http://crevt.altervista.org/pdf/TUT6.pdf

Tools:

  • DktCompiler (il mio)

  • OllyDbg (con plug-in della command line)


Allora,iniziamo.Per prima cosa analizziamo il nostro eseguibile,aprendolo dentro il mio Dktr compiler...ecco il risultato:




Ottimo,non è neppure compresso.Ora,apriamo il gioco e analizziamolo,per vedere che tipo di protezione è stata implementata...





Ahi,che tristezza! Una protezione a tempo! Solo 60 minuti di gioco e poi il demo non si può più usare...No problema!


Apriamo il gioco dentro olly e cerchiamo la prima cosa logica...una funzione SetTimer che dovrebbe appunto far partire il conto alla rovescia...purtroppo non esiste nulla di simile,per cui prviamo con qualcosa di più mirato...per esempio l'API GetTickCount che dovrebbe appunto occuprsi di segnalare l'avanzamento del tempo...in questo caso in negativo,infatti ad ogni tick,il nostro counter diminuisce fino a raggiungere lo zero...la strada più veloce in questo senso è proprio quella di Noppare le chiamate all'API GetTickCount per risolvere ogni problema.


Apriamo dunque il programma,e andiamo nel menù plug-in selezionando la commandline...digitiamo







e vediamo ciò che appare...(scorrete un po la lista)





queste chiamate rosse sono i breackpoint...clikkiamo su ogniuno di essi,e verremo portati al codice corrispondente...per esempio...

Ottimo,dobbiamo noppare no?E faccimolo! Doppio click e scriviamo NoP





benissimo,ora ecco come appare...




procediamo allo stesso modo per le altre chiamate e il gioco è fatto! :D







NETSUMBLER

    NetStumbler                                     22/05/2007            

NetStumbler è un ottimo programma per individuare le reti wireless senza (e con) protezione,delle quali usufruire durante le vostre sessioni di wardriving o collegamento abusivo alle reti dei vicini.L'unico problema di questo software è che non è possibile utilizzarlo insieme al Micorsoft Wireless Zero Configuration (Il tool di connessione wireless integrato a windows), su decisione del programmatore. Sta a noi,da bravi hacker,modificarlo opportunamente per usufruire appieno delle funzioni disponibili,che renderebbe altrimenti inutile o poco utilizzabile il potente software.


Per prima cosa,creiamo una copia di Backup del programma per evitare di perdere definitivamente il software dopo una modifica errata.

Il trucco è molto semplice. Semplicemente il programmatore di NetStrumbler ha probabilmente inserito una istruzione “if” che controlla l'esistenza del Microsoft Wireless Zero configuration,che fa apparire all'avvio il form di ricerca e bloccaggio della stessa.






Uno pseudo codice riassuntivo potrebbe essere questo (probabilmente è stato fatto uso delle API di Windows)


If WindowsAPI.Wirelessconfig = true then

frmcloseconfig.show

end if


Naturalmente è solo un esempio per comprendere!Ora,seguendo passo-passo il flusso del programma per mezzo di un debugger,si riesce a risalire all'istruzione del codice assembly che richiama il controllo,ed è possibile schivarlo per mezzo di una patch * (in linguaggio da reverser)

Ora,creata la suddetta patch,modificando i jmp del codice disassemblato è stato necessario solamente confrontare le differenze del file binario originario (con la protezione) e quello patchato...è come scrivere la crack di un videogioco!


Dotiamoci di un editor esadecimale (noi abbiamo usato Frhed,software gratuito e opensource,ma va bene qualsiasi),con il quale apporteremo la modifica necessaria al funzionamento.



Attraverso la funzione “cerca” rechiamoci alla riga


000387b0h


Ecco come appare nell'editor:





modifichiamo la stringa così:



wzcsvc ---> wacsva


ecco dopo la modifica nell'editor:




Semplicemente avete sostituito alla lettera C la lettera A nella sezione alfanumerica,e il valore 63 al 61 nella sezione byte.

Ora andate su File->Save As... e scegliete il nome del file. Ricordate di impostare l'estensione manualmente (.exe) altrimenti verrà salvato in formato testo.


e come appre nel nostro windows!


Prima della modifica,con network stumbler in funzione:





E dopo la modifica!!Sempre con network stumbler attivato...:





Per verificare che tutto sia stato eseguito correttamente e per evitare errori ecco il checksum MD5 della versione modificata:


2F753FD1D69B5C4138AEDB572F2D58FD


Che potete ottenere sotto linux con il comando dalla shell:


md5 [nome programma]


e sotto windows dotandosi di un qualsiasi programma in grado di svolgere una funzione analoga.


Potete ora dirigere l'antenna dove meglio si presenta il segnale wireless.











AXE 3.4b

    AXE 3.4b                                      -                              

Tutorial in PDF:

http://uscitaemergenza.altervista.org/TUT5.pdf


Ecco un crack di un prog commerciale,anche utile Very Happy

Tools
IDA Pro
Binder Analyzer (by Me )
Calcolatrice di Windows


Allora,per prima cosa analizziamo superficialmente il nostro target...

 

che non presenta alcun segno di protezione...benissimo. Apriamo l'exe dentro IDA Pro,e mettiamoci ad analizzarlo:

 

cerchiamo la GetWindowTextA ,proprio quella che legge preleva il serial number. Poco più sotto è presente anche la riga call ?GetWindowTextA@CWnd@@QBEXAAVCString@@@Z

 
che appunto preleva il nome. Ora,analizziamo il codice lì attorno...

 .text:0042BC6D call sub_410A10
 .text:0042BC72 mov ecx, eax
.text:0042BC74 call sub_41FBB0
 .text:0042BC79 cmp eax, ebx
.text:0042BC7B jz loc_42BFA9


 Ottimo,queste righe sono interessanti...infatti vediamo una chiamata alla sub 41FBB0,e una successiva comparazione (cmp) di eax e ebx,in ultimo luogo un salto condizionato...rechiamoci col mouse sopra la sub 41FBB0
 

eheh....guardiamo bene quella stringa...prima viene messo in esi il valore inserito nella finestra di registrazione e ora viene paragonato con il valore 2725h,che prendendo la calcolatrice di windows... selezioniamo la scientifica,e settiamo come
unità “hex”.Copiamo 2725

 

ora clikkiamo su Dec...

 

il valore giusto è 10021...proviamo ad inserirlo nella interfaccia di registrazione

 

Crakkato!









DAMA DELUX 1.0  


    DAMA DELUX                            -                                

 Tool: OllyDbg 1.10 IDA Pro 5.1 (o inferiori)

Tutorial in PDF:
http://uscitaemergenza.altervista.org/TUT4.pdf


 Premessa

Benvenuti nel mio primo crack di un programma commerciale Smile. Se aprite l'exe noterete le “protezioni” che i programmatori hanno inserito.Ecco quindi i nostri obbietivi: -Rimuovere il nag iniziale con quel fastidioso countdown di 20 secondi -Rimuovere la limitazione delle mosse (Provate a finire una partita,ad un certo punto appare un messagebox che dice che la mossa la farà lui -.-') Passo uno – Eliminare il nag Dunque,è evidente (fidatevi) che non essendo stato fatto uso di una funzione ShowWindow nel programma per mostrare il nag,probabilmente si lavora sulla FormActivate. Ora,aprendo il nostro Dama dentro un hex editor qualsiasi e cercando il riferimento a quella stringa,si viene portati all'indirizzo 004020A8 .
Apriamo IDA e diamo una occhiata...

 

Se settiamo un brekpoint e poi premiamo F9,ecco che IDA brekka prima di mostarre il dialog. Benissimo,lasciamo pure aperto IDA e apriamo Olly,dentro il quale caricheremo sempre Dama delux. Ctrl+G e ci rechiamo al suddetto indirizzo.Analizziamo ciò che si vede dentro IDA,che con la sua funzione di grafico ci fa capire perfettamente il codice...ripeschiamo IDA e premiamo la barra spaziatrice,ed ecco quello che appare:


 

Bene bene...quel jnz controlla la mancanza di file necessari,e in caso affermativo lo segnala al programma. Altrimenti prosegue,ma queta routine non ci interessa...piuttosto,proviamo (sta volta dentro olly) a settare un breckpoint sul Push Ebp (004020A8) e runniamo il prog con F9. Olly brekka,ma noi steppiamo con f8,e in corrispondenza della call 004020ED FF92 D8000000 CALL DWORD PTR DS:[EDX+D8] Ecco che appare la finestra del nag. Smile trovato il punto da patchare!! Sostituiamo con un NOP e...magia! Sparito il nag.

Fase 2 – Limitazione Mosse Abbiamo detto prima che appare un message box no? Ottimo,dentro olly settiamo come di
consueto un bp:

 

Proprio qui,dopo un tot di mosse olly brekka... 00474F9A |. E8 F16D0400 CALL ; \MessageBoxA
analizziamo la situazione da olly:

 

Eheh,sia nello stack che nei registri appare il testo della messagebox.Se ora steppiamo,arriviamo qui:

 

Ottimo,notiamo nulla? Se guardiamo nei registri,proprio agli indirizzi pushati qui: 00406C5C lea ecx, [ebp-008C] 00406C62 lea edx, [ebp-74] ci sono le righe "Limitazione shareware" e "Versione SHAREWARE: questa mossa la scelgo io!" .

 

Intuiamo subito che all'indirizzo 004BA9CC abbiamo una funzione ponte per l'API MessageBoxA (cè la call no?). Ora,ritorniamo al fedele IDA, e risaliamo fino al codice che controlla quella routine:

 

Uhm...tutti gli indirizzi puntano lontano dalla messagebox...settiamo un bp su jg loc_406CAB Ecco che alla prima mossa brekka...
  Occhio eh...EXC è a valore 00000012...Aspettiamo una mossa,ed ecco che brekka ancora...^^

 

Pepperepe! 00000010...è diminuito di due...e se notate,questo continua ad ogni mossa,fino allo zero,quando poi arriva la call alla messagebox... Che fare quindi? Semplicissimo!Cambiamo il condizionale jg in un jmp e tutto sarà apposto! Fine!