CrazyTalk 2.51
Patch it!

Data

by "M0rPh3u5"

 

20/11/2002

UIC's Home Page

Published by Quequero

If you give a man a crack he'll be hungry again tomorrow...

Se scrivo qui ti incazzi? No? Bene... :-) <- No? Come no...Che e' un tutorial questo??? Ti pare un tutorial? Tsk :))))

...but if you teach him how to crack, he'll never be hungry again

....

E-mail: [email protected]
Mi trovate su #crack-it in irc.azzurra.org

....

Difficoltà

(x)NewBies(maddeke...NdQue ;p) ( )Intermedio ( )Avanzato ( )Master

 

Patchamo il programma in modo che accetti ogni serial inserito.


CrazyTalk 2.51
Patch it!
Written by M0rPh3u5

Introduzione

No Patchi Tu? Aiaiaiaiai!

Tools usati

Tools usati:
SoftICE

IDA Pro
Winamp (Volete reversare senza musica di sottofondo!?!?! :)))

URL o FTP del programma

www.reallusion.com

Notizie sul programma

Questo è un simpatico programmino che dice ciò che gli diciamo :) In pratica parliamo al microfono e lui riproduce ciò che abbiamo detto sulla faccia di alcuni modelli, oppure possiamo farlo parlare scrivendo una frase e facendogli pronunciare quella frase con delle voci "interne". Presenta solo una password (non so se è fissa o cambia da pc a pc, ma non ce ne frega più di tanto visto che tanto gli faremo accettare tutte le password del mondo).  

Essay

Ale, finalmente si comincia! C'ho messo più tempo a riempire i campi di 'sto form che non a reversare il programma :). Beh, diamo inizio alle danze...
Avviamo il programmillo e all'avvio si presenta una specie di nagscreen con 3 pulsanti, uno dei quali è "purchase". Cliccando li si aprirà un'altra finestra dove viene richiesto il codice per registrare il programma. Avviamo quindi il softice con CTRL^D e settiamo un breakpoint su messageboxa. Inseriamo un codice ad caxxum, premiamo ok, ci breakka sice, ripremiamo CTRL^D e, a meno che non avete un culo bestiale, vi dirà che il codice è sbagliato. Premiamo OK e ci ripoppa il sice. A questo punto segnatevi l'offset della msgbox (004114C1) e diamo il programma in pasto ad IDA (il file che dovete aprire è scripteditor.exe). IDA ci metterà un po' per aprirlo visto che il file è grosso quasi un mega, ma ne vale la pena.
Una volta terminato il processo, dirigiamoci all'offset di prima, e avremo una cosa del genere:

.text:00411483 loc_0_411483:               ; CODE XREF: sub_0_410F20+1C8j
.text:00411483                             ; sub_0_410F20+2C9j ...
.text:00411483  mov dword_0_4C4558, 0
.text:0041148D  call ?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ; AfxGetModuleState(void)
.text:00411492  mov eax, [eax+0Ch]
.text:00411495  push 100h
.text:0041149A  push offset unk_0_4C4890
.text:0041149F  push 0F16Ch
.text:004114A4  push eax
.text:004114A5  call sub_0_4128F0
.text:004114AA  mov ecx, [esp+354h+var_318]
.text:004114AE  add esp, 10h
.text:004114B1  mov edx, [ecx+1Ch]
.text:004114B4  push 0                   ; uType
.text:004114B6  push offset unk_0_4C455C ; lpCaption
.text:004114BB  push offset unk_0_4C4890 ; lpText
.text:004114C0  push edx                 ; hWnd
.text:004114C1  call ds:MessageBoxA


I colori psichedelici li ho presi dal tute per newbies n. 11 di Andre, quindi se avete qualcosa da dire, prendetevela con lui, è tutta colpa sua :)
Bene bene, questa è la messagebox di errore. Rinominiamola in qualcos'altro; io ho usato "BadBOX" facendo click destro su loc_0_411483, rename. Andiamo alle cross references, e noteremo cinque riferimenti a questa routine.
Bene bene bene bene... Sono tutti e cinque dei Jump If Not Zero...
Mi sa che invertendoli siamo sulla strada giusta...
Segnamoci quindi gli offset e utilizziamo il nostro editor esadecimale preferito per invertirli. Siete troppo pigri per segnarvi gli offset? Ve li scrivo io:

Direction Type Address Instruction
Up i .text:004110E8 jnz BadBOX
Up i .text:004111E9 jnz BadBOX
Up i .text:004112E2 jnz BadBOX
Up i .text:004113A1 jnz BadBOX
Up i .text:004113B3 jnz BadBOX

Lavoro a casa: capire da dove vengono richiamati tutti 'sti jnz. Io l'ho capito, e voi?

Invertiamo tutti i jnz, avviamo il programma, clicchiamo Purchase, et... voilà! Registrato!
Quando si dice che i programmi usano una protezione del ca%%o... Beneomale ora faccio parlare il mio pc :)

Note finali

Ringrazio il Que che mi ha pubblicato il tute e che non si è incazzato quando ha visto che gli ho scritto nel suo spazio personale :)))))) Questo e' cio che pensi tu :) NdQue, poi saluto il grande AndreaGeddon a cui ho rubato i colori psichedelici di IDA, poi Ironspark, Ntoskrnl, JEYoNE, Quake2^AM, _d31m0s_ e al _ph0b0s_.

Disclaimer

Vorrei ricordare che il software va reversato e non comprato, dovete crackare 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 reversando i propri programmi e non a fargli fare uso dei tantissimi file crack presenti in rete, perchè come dice +ORC "If you give a man a crack he'll be hungry again tomorrow, but if you teach him how to crack, he'll never be hungry again". Infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti (mi sa che qua i programmatori tutto han fatto tranne sforzarsi :)) per fornire ai rispettivi consumatori i migliori prodotti possibili.

Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.

Capitoooooooo????? Bhè credo di si ;))))