Gli hack dietro Cracking, Parte 1: Come bypassare la registrazione del software
Se vi siete mai chiesti come pirati del software possono prendere il software e rompere più e più volte, anche con la sicurezza in atto, questa piccola serie è per voi. Anche con i metodi più avanzati di oggi per sconfiggere la pirateria in atto, è ancora relativamente facile da decifrare quasi tutti i programmi nel mondo. Ciò è dovuto principalmente alla capacità dei processi informatici di essere completamente manipolati da un debugger assembly. Utilizzando questo, è possibile ignorare completamente il processo di registrazione facendolo saltare il processo di verifica del codice chiave dell’applicazione senza utilizzare una chiave valida. Questo funziona perché assembly consente di parlare direttamente al processore e forzare un salto sopra il processo di registrazione.
In questo Byte Nullo, esaminiamo come il cracking potrebbe funzionare in pratica guardando un programma di esempio (un programma che non ha altro scopo che quello di hackerare). Non ti spiegherò come decifrare effettivamente un programma legittimo, perché non posso semplicemente decifrare un programma per la dimostrazione, ma le tecniche applicate ai miei esempi dovrebbero darti le basi necessarie per crearne di tue. A quel punto, è una prova della tua morale se vuoi usare la tua conoscenza nel bene o nel male.
Requisiti
- Windows (solo per esempi, i debugger esistono su piattaforme)
- Un debugger installato: IDA, oydbg, ecc. (oydbg verrà utilizzato negli esempi)
Passo 1 Prova il programma
Per prima cosa, esegui il programma che stai tentando di decodificare e prova ad attivarlo con una chiave casuale per verificare che hai bisogno di una chiave software valida per procedere. Questo per verificare che possiamo trovare le chiavi.
Passaggio 2 Eseguire il programma in un Debugger
- Eseguire oydbg.
- Apri il programma che desideri bypassare con oydbg.
- Fare clic sul pulsante Play per eseguire il programma con il debugger collegato.
- Fare clic con il pulsante destro del mouse sulla finestra CPU e fare clic su Cerca > Tutte le chiamate intermodulari.
- Cerca DLL ad alto interesse. GETDLGITEMTEXT, sarà per le finestre di dialogo, che vengono chiamate quando si tenta di inserire una chiave software. Entrando nella funzione con il debugger, possiamo esaminare specificamente la registrazione. Potrebbe essere utilizzato anche SENDDLGITEM.
- Prova per vedere quale funziona per uscire dal ciclo di attivazione facendo clic con il pulsante destro del mouse sulla chiamata DLL e impostando un punto di interruzione per tutte le istanze di quella chiamata.
- Riprendere il programma e inserire qualsiasi chiave software si sente come. Se il debugger si interrompe (mette in pausa l’esecuzione del programma) dopo aver inserito la chiave, allora sai di aver trovato DLL nel passaggio 5.
- Premere F8 nella finestra della CPU per forzare il passaggio successivo fino ad arrivare al TEST EAX. EAX è il ritorno di un valore, il che significa che qui viene eseguito un controllo. All’esame, possiamo vedere che l’EAX sta controllando un numero che non è uguale a un valore nullo. Ciò significa che se viene sostituito con qualcosa di diverso da null, verrà eseguito.
- Fare clic con il pulsante destro del mouse sull’EAX e modificarlo in valore esadecimale su 1, anziché su 0.
- Riprendi il programma e avrai attivato correttamente il programma.E come prova era registrato a me:
Questo funziona perché stai facendo saltare il processo da un registro e saltare quello che verifica la chiave inserita. Per sfruttare l’algoritmo di registrazione delle chiavi, tieni d’occhio la seconda parte di questo tutorial su come creare il generatore di chiavi. Urrà per il montaggio!
- Pubblica nei forum
- Chatta su IRC
- Segui su Twitter
- Cerchia su Google+
Immagine tramite msbyron27
Tramite gli hack dietro il cracking, Parte 1: come bypassare la registrazione del software su null-byte.wonderhowto.com.
Leggi altri post su WonderHowTo “