Tutorial base

Creare la crack di un software :

In questa breve guida proverò ad illustrare le tecniche base per craccare un software.
Questa guida ha scopo puramente illustrativo e didattico, e serve a mostrare e a far meglio capire agli utenti meno esperti che cos'è e che azione svolge un programma di crack.

Cosa vuol dire craccare un software?
Vuol dire applicare l'ingegneria inversa per ottenere e modificare il codice assemlber di un'applicazione con il fine di aggirarne i sistemi di protezione e sbloccare funzionalità. 

Molto spesso ci si riferisce con il termine crack ad un programma che è tecnicamente un patcher, ovvero un software che applica una modifica all'eseguibile del programma vittima per sbloccare funzioni o attivare una licenza.

In questa guida voglio mostrare il lavoro che svolge colui che produce una crack.

Bene, quindi quello che vogliamo fare è :

1. Ottenere un listato con codice assembler dell programma vittima.
2. Individuare il punto in cui sono effettuati i controlli di sicurezza.
3. Applicare una modifica per aggirare i controlli

Queste operazioni saranno effettuate su un programma appositamente scritto per questo scopo. Questo ci consente di non infrangere nessuna legge.

Quali programmi ci occorrono ?
Ci servirà un debugger, che consente di ottenere un listato del codice di un programma.
Useremo ollyDbg.
Questo e molti altri strumewnti utili sono reperibili Qui, scaricateli.

Ecco il link per scaricare il programma da craccare : GandoCrackMe

Dovete avere un pò di conoscienza di ASM.
http://it.wikipedia.org/wiki/Assembly
http://quequero.org/Assembly_Page_1#Iczelion.27s_Assembly_Tutorials

Bene, cominciamo

Scomprimete il programma vittima e provatelo.
La prima fase è sempre quella della raccolta di informazioni.
Dovete analizzarne il funzionamento per ottenere informazioni utili durante la fase di cracking.

Informazioni utili sono ad esempio :
Testo che si trova in prossimità delle caselle o del messaggio che chiede un seriale.
Creazione di finestre
Messaggi di errore etc

Notiamo che il programma chiede un seriale, e che mostra un messaggio di errore se il seriale è errato.
Questo testo ci sarà molto utile perchè se lo cerchiamo nel codice ci posizionerà in prossimità dei controlli.

Apriamo ollyDbg, e da olly carichiamo l'eseguibile della vittima.
Dovremo visualizzare ora il listato con il codice ASM del programma.
Per cercare un stringa con ollyDbg si clicca con il tasto destro sul codice, e si seleziona search for -> all referenced strings.
Dell'elenco che verrà visualizzato è possibile selezionare una stringa, ad esempio il nostro messaggio di errore, e vedere in che posizione si trova nel disassemblato. 

Probabilmente, il messaggio di errore sarà in prossimità dei controlli sul seriale.
Possiamo procedere a ritroso per vedere quale istruzione di salto porta al messaggio di errore. Questa è una tecnica piuttosto usata per arrivare al controllo di sicurezza.
In genere i controlli sono effettuati con un TEST e poi con una o più istruzioni di salto condizionato.

Quello che vogliamo fare è fare in modo che il test faccia il contrario di quello che fa ora, ovvero che vada al messaggio di errore se il codice immesso è giusto. In questo modo, qualsiasi codice sbagliato attiverà il programma.
In generale, per invertire un'istruzione di salto condizionata è sufficiente aggiungere una n (o rimuoverla se c'è).

Ad esempio : JZ -> JNZ
e JNE -> JE etc..

Una volta apportata la modifica basta premere play per provare e vedere se il crack ha avuto successo.


2 commenti:

  1. Ho provato ma ollyDbg. non acetta il file eseguibile cè soluzione? grazie

    RispondiElimina
  2. Road: Tutorial Base >>>>> Download Now

    >>>>> Download Full

    Road: Tutorial Base >>>>> Download LINK

    >>>>> Download Now

    Road: Tutorial Base >>>>> Download Full

    >>>>> Download LINK EM

    RispondiElimina