Zoom Icon

WavCutter 1.02

From UIC

WavCutter 1.02

Contents


Infos
Author: The Hellfish
Email: thehellfish@worldonline.it
Website: http://hackuarium.cjb.net/
Date: 08/05/2000 (dd/mm/yyyy)
Level: Working brain required
Language: Italian Image:Flag_Italian.gif
Comments:

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 :) Se dai un crack ad una persona, lei avrà ancora fame... ... ma se insegni a quella persona a crackare, lei non avrà più fame.



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 :) Hiew 6.15 (secondo me è il miglior editor hex) 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.


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

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevoli e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.