Come crackare qualsiasi programma

« Older   Newer »
 
  Share  
.
  1. James095
     
    .

    User deleted


    Inziamo con lo scoprire i programmi che useremo:

    im1g

    KeyGenMe.exe —> è il nostro target, il programma da crackare.

    DeDe —> è un ottimo debugger per fare un po’ di reverse engineering(dopo vi spiego cos’è)

    XDIAT —> è il nostro editor hex e compilatore/decompilatore

    Diciamo che l’esempio che vi do è già confezionato, dietro ci stanno nozioni di assembler che cercherò di rendere più semplici possibile. Per chi poi vuole approfondire dovrei avere dell’altro materiale(sempre legale non preoccupatevi!!!)

    Bene iniziamo col provare il programma KeyGenMe.exe:

    im2e

    Da qua si capisce se o abbiamo il seriale giusto o nada….però possiamo aggirare la cosa naturalmente!!

    Apriamo DeDe dall’eseguibile, aspettiamo un po’, ci chiederà di leggere la licenza e dopo un po’ si abilitano i pulsanti.
    Premete “I Agree”.

    Apriamo il file del quale vogliamo fare il reverse engineering ossia dall’eseguibile arriviamo ad avere informazioni su che tipo di programma è stato usato per compilarlo, che tipo di linguaggio è stato usato etc. etc.
    Naturalmente per noi il file è KeyGenMe.exe.
    Cliccate su “Process” poi premete un paio di volte sempre “OK” quando ve lo chiede e infine quando vi chiede l’analisi premete “Yes“.Quando vi dice “Done” allora potete premere il pulsante “Close“.

    im3l-ante

    Quello che ci interessa a noi sono le procedure, quindi clicchiamo su “Procedures“;
    Nella tabella degli eventi, a noi interessa sapere cosa accade quando premiamo sul pulsante “Enter” che è quello che poi andrà a verificare il codice che inseriamo. Per cui doppio click su “EnterClick“!
    Ecco cosa ci appare:

    im4m-ante

    Quello che dobbiamo cercare noi sono le istruzioni assembler di JUMP che sono quelle che ci permettono di saltare il controllo.
    Esistono diverse tecniche basate o sul cercare l’istruzione e saltare, oppure come fanno i professionisti, effettuare operazioni booleane (AND OR NOT XOR) sull’esadecimale in maniera tale da ottere i keygen che si trovano su internet.
    Questo è il caso più semplice, ad occhio vediamo subito che basta aggirare il jump che rimanda al controllo del seriale perchè funzioni tutto!


    Cerchiamo l’ istruzione JNZ(Jump if Not Zero).
    Ecco cosa ci troviamo davanti:

    0046723E 750C jnz 0046724C

    o nell’immagine:

    im5f-ante


    Adesso segnamo l’indirizzo di memoria 0046723E e chiudiamo il programma.
    Apriamo Hiew726w!

    Fatto questo trasciniamo il file KeyGenMe.exe sul file eseguibile di Hiew e si aprirà una cosa del genere:

    im6l

    Adesso dobbiamo andare a decodificare il casino che vediamo biggrin.gif
    Premiamo F4 e andiamo su “Decode“.
    La funzione cerca di questo programma non è proprio il massimo per cui ci dobbiamo spostare manualmente con il tasto “Pag giù” fino ad arrivare al nostro indirizzo di memoria 0046723E. Finalmente dopo aver consumato il tasto del pc siamo arrivati!!!

    Adesso bisogna editare il file:

    Premiamo F3 per editare e sostituiamo al posto del 5 il 4! Così da JNE(Jump Not Equal —> salta se non uguale) diventerà JE(Jump Equal —-> salta se uguale) e quindi qualunque valore mettiamo nella casella di testo funzionerà!!!
    Per salvare prima premiamo F9 e poi F10 per uscire!!
    Adesso proviamo a rieseguire il programma…vediamo che succede:

    im8

    Ecco a voi il gioco è fatto…
    Ricordate…nessuno può fermare la sete di conoscenza… :NoNo:

    Edited by James095 - 3/4/2013, 14:18
     
    Top
    .
  2. S.Pietro
     
    .

    User deleted


    Non preferisci fare tutto dal debugger ?
    Io mi trovo meglio perchè così posso fare tentativi, e sbirciare i valori dei registri durante l'esecuzione dei programmi.
    http://adf.ly/73UzA
     
    Top
    .
  3. James095
     
    .

    User deleted


    Si si è anche conveniente :D
     
    Top
    .
2 replies since 26/3/2012, 15:30   1554 views
  Share  
.