Se dai un crack ad una
persona, lei avrà ancora fame...
Per questo programma ero partito in
verità volendo fare il serial fishing, ma poi ho pensato che un patch
sarebbe stato più comodo :)))
Hihih Qualche mio commento,
significa MIO di Quequero, non mio di Hellfish :) cmq non fa niente
hahaha....Cmq bravo anche a te, il tute è anche troppo completo per una
semplice patch :)
... ma se insegni a quella persona a crackare, lei non avrà
più fame.
In questo tutorial andremo a patchare WavCutter in modo che ci prenda tutti i
nomi che vogliamo.
WavCutter 1.02 Patchare WavCutter
1.02 Written by The
Hellfish
Introduzione
Questo programma l'ho scaricato col fatto che mi diverto a mixare gli
mp3 e salvando i passaggi poi mi rimane un blocco unico da 600 mb. Con sto
prog posso suddividere sto blocco in tante tracce. La protezione è molto
semplice, soprattutto se la si vuole patchare :)) Prego Quequero di indicare i
vari errori che ci potrebbero essere in sto tut. Io l'assembly non lo conosco
molto bene....
Tools
usati
Softice 4.0
(trovatemi un crack fatto senza il sice :)
Musica ascoltata: The Chemical Brothers e Basement Jaxx
URL o FTP del
programma
L'url non lo conosco. L'ho scaricato da winfiles. Andate su shareware\multimedia\wave edit\ e lo
trovate.
Notizie sul
programma
A che serve l'ho gia detto prima. La protezione è il solito form con nome
e serial ricavato dal nome.
Essay
Allora, iniziamo. Facciamo partire il prog che ci dirà con una scritta
rossa che non è registrato. Andiamo su About/Register e clikkiamo su register.
Ecco il nostro bel form, qua inserirete il vostro nome ed il serial che avete
ricevuto via posta dopo . Io ho messo
User Name: The Hellfish
Lincense Key: 123456
Adesso settiamo
bpx getwindowtextA
bpx getdlgitemtextA
in softice e skiacciando register lo vedremo poppare. Come? Non poppa?
Avete ragione, inseriamo allora
bpx hmemcpy
e naturalmente lo vedremo saltare fuori al momento in cui schiacceremo
register (a sto break non lo batte nessuno :). Una volta nel sice skiacciate
F5 una volta, F11 una volta e F10 fino a quando non sarete arrivati qui:
0177:00407D57 LEA EAX,[EBP-08] 0177:00407D5A CALL
004017FC
qui muove il serial in eax (chiaramente dentro la
call) 0177:00407D5F PUSH EAX 0177:00407D60 LEA
EDX,[EBP-023C] 0177:00407D66 PUSH EDX 0177:00407D67 CALL
0047261C 0177:00407D6C ADD ESP,08 0177:00407D6F DEC DWORD PTR
[EBP-14] 0177:00407D72 LEA EAX,[EBP-08] 0177:00407D75 MOV
EDX,00000002 0177:00407D7A CALL 0047D53C 0177:00407D7F LEA
ECX,[EBP-013C] qui
mette in ecx il nome inserito 0177:00407D85 PUSH
ECX 0177:00407D86 CALL 0047264C 0177:00407D8B POP ECX 0177:00407D8C
CMP
EAX,04
compara il numero dei caratteri in eax a
4 0177:00407D8F JAE
00407DA9
se il numero dei caratteri in eax è minore di 4 vai alla
beggar off 0177:00407DA9 LEA EAX,[EBP-033C] 0177:00407DAF PUSH
EAX 0177:00407DB0 LEA EDX,[EBP-013C] 0177:00407DB6 PUSH
EDX 0177:00407DB7 CALL 00407F84 0177:00407DBC ADD
ESP,08 0177:00407DBF LEA
ECX,[EBP-023C] mette in ecx il serial 0177:00407DC5 PUSH
ECX 0177:00407DC6 LEA EAX,[EBP-033C] 0177:00407DCC PUSH
EAX 0177:00407DCD CALL 004725D0 0177:00407DD2 ADD
ESP,08 0177:00407DD5 TEST EAX,EAX 0177:00407DD7 JZ
00407DEE
se il serial non è giusto vai
avanti 0177:00407DD9 EDX,[EBP-023C] 0177:00407DDF
EDX 0177:00407DE0 CALL 00407EB4
chiamata importante! 0177:00407DE5 POP
ECX 0177:00407DE6 TEST EAX,EAX 0177:00407DE8 JNZ
00407E81 se il serial non è giusto vai avanti 0177:00407E81 MOV
ECX,[004864E0] 0177:00407E87 MOV EAX,[ECX] 0177:00407E89 XOR
EDX,EDX 0177:00407E8B MOV [EAX+00000370],EDX 0177:00407E91 PUSH
10 0177:00407E93 PUSH 00481830 0177:00407E98 PUSH
00481819 0177:00407E9D PUSH 00 0177:00407E9F CALL
USER32!MessageBoxA beggar off
Ok diamo un'okkiata adesso alla call a 407DE0:
qui ho tagliato un po' di roba 0177:00407EEA JNZ
00407ED8 0177:00407EEC AND DWORD PTR [EBP-04],000000FF 0177:00407EF3
CMP DWORD PTR [EBP-04],000000FF 0177:00407EFA JNZ
00407F01 0177:00407F01 MOV EAX,00000001 istruzione importante! 0177:00407F06 POP
ECX 0177:00407F07 POP EBP 0177:00407F08 RET
Come vedete ho segnalato un'istruzione in particolare. Quell'istruzione
determina se siamo registrati o meno. Mettendo in eax 1 vuol dire nisba,
mettendo 0 vuol dire alleluja. Che si fa dunque? Bisogna fare in modo che non
gli metta dentro 1 ma che gli metta sempre 0 sia che serial è giusto sia che è
sbagliato. Come si fa quindi? Usiamo un comandino assembly che in teoria serve
per altro ma nel nostro caso azzera eax. Sto parlando dello xor. Con un editor
esadecimale cambiate le seguenti istruzioni:
0177:00407F01 XOR EAX,EAX 0177:00407F03 NOP questi nop servono ad annullare i byte che vi
avanzano 0177:00407F04 NOP 0177:00407F05 NOP
In questo modo ogni volta che mettete un serial eax conterrà 0 ed il prog
lo prenderà sempre per buono.
The Hellfish 2000 All rights reversed.
Note finali
Spero che questo tut sia servito a qualcosa. Se avete bisogno, la mia mail ce
l'avete. Spero che comprendiate i vari orrori ortografici. Non vi prendete male
se per un crack come questo ho messo 200 righe di codice. Un saluto va a
Quequero (sei il mio punto di riferimento!), a Paradox Evil, al Bieco, ed a
tutti i membri di #crack-it. Ciauz.. Dimenticavo: un bel fuck alla Telecom che
mi vampira i soldi per le telefonate in internet ed un fuck anche alla Sony ed
alla CDilla per avere inventato delle protezioni che mi fanno sclerare!......CDilla hihihihi mi ci so troppo divertito un paio di giorni
fa per copiare il mitico e fantastico The Sims NdQuequero
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.
Capitoooooooo????? Bhè credo di si ;))))
UIC's page of
reverse engineering, scegli dove andare: