Zoom Icon

Editing BinaryBoy

From UIC

Binary Boy

Contents


Infos
Author: Johan Padan
Email: Email
Website: Home page
Date: 02/10/2005 (dd/mm/yyyy)
Level: Working brain required
Language: Italian Image:Flag_Italian.gif
Comments:



Introduzione

Binary Boy searches internet newsgroups for mp3 files, movies, pictures, sounds and other files matching your search criteria, then downloads and decodes the files.


Tools & Files


URL o FTP del programma


Essay

Ho recuperato casualmente su internet un tutorial by +Tsehp "Cracking binary boy" e siccome il livello è beginner ho deciso di scaricare il programma e provare a crakkarlo. Purtroppo a lavoro iniziato, mi sono reso conto che il tute era del 1999 e la procedura descritta non era più valida per cui ho cercato comunque di trasformare la versione trial 30 giorni in trial infinito.

Tramite Olly e la ricerca di stringhe, ho trovato espressioni del tipo "Only one day remaining" oppure "It's time to buy" ecc. che fanno chiaramente capire che è la routine che si occupa di gestire il periodo trial.

Siccome l'obiettivo è di rendere infinita la versione trial devo obbligare il programma a finire sempre in questa sezione.

0042AE47 JE lo forzo a JMP in questo modo finisco esattamente nella sezione dove il programma effettua il controllo tra i 30 giorni e quelli di utilizzo.

0042AF2D MOV EAX,DWORD PTR DS:[519474] //vengono memorizzati i gg rimanenti
0042AF81 MOV ECX,DWORD PTR DS:[5194B8] //viene memorizzato 1E (30 gg trial)

Si tratta di sostituire nell'istruzione 0042AF2D a [519474] l'area di memoria [5194B8] in questo modo il controllo (JGE) eseguito all'istruzione 0042AF8C è sempre verificato in quanto confronta 30 giorni con 30 giorni. Come se il programma fosse appena installato.

Infine per risolvere un problema estetico, si può utilizzare Hex Workshop per eliminare le scritte "Free Trial" e "Unregistered" che appaiono nella barra del titolo. Dopo aver portato avanti l'orologio di sistema per il controllo finale appare nella videata principale del programma un pulsante con la scritta "Buy Now" per nasconderla cerchiamo come al solito la stringa relativa con Olly, e all'istruzione 00476E80 disattivo la chiamata a ShowWindow mettendo al posto di push 5, push 0.



Note Finali

Un bacio a N. moglie perfetta e pareggiabile amante.  :)

Johan Padan


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.