Benvenuto in Moddingstudio.com.
Pagina 2 di 3 PrimaPrima 1 2 3 UltimaUltima

  1. #11
    ModeratoreBeTmAsTeR è online
    Reputazione

    • Registrato da Jun 2009
    • Messaggi: 1,139
    • Ha ringraziato: 2
      Grazie ricevuti: 18

      Downloads: 10
      Uploads: 0
    no, non è quello ... ma ci sei vicino
    Mai memorizzare quello che puoi comodamente trovare in un libro.
    Imparare è un esperienza, tutto il resto è solo informazione.
    L' immaginazione è più importante della conoscenza.
    (A. Einstein)



    ( ) iPhone 4
    ( ) iPad
    ( ) iPad 2
    ( ) iPod Touch
    (✔) iDon't have money to waste

  2. # ADS
    Circuit advertisement


     

  3. #12
    Melo_Wii è offline
    Reputazione

    • Registrato da Mar 2010
    • Messaggi: 1,227
    • Ha ringraziato: 6
      Grazie ricevuti: 59

      Downloads: 21
      Uploads: 2
    Se ti riferisci al' inizio è 00401156 o 4 (più provabile) allora.....
    Comunque ho anche esaminato il tuo lavoro senza capire un beato tubo (giuro che non ho copiato nulla)
    La genialità sta nelle piccole idee, la programmazione poi viene da se. - RyujiAndy

  4. #13
    Melo_Wii è offline
    Reputazione

    • Registrato da Mar 2010
    • Messaggi: 1,227
    • Ha ringraziato: 6
      Grazie ricevuti: 59

      Downloads: 21
      Uploads: 2
    A tempo perso ho fatto un patcher
    [Solo gli utenti registrati e attivati possono vedere i link ]
    La genialità sta nelle piccole idee, la programmazione poi viene da se. - RyujiAndy

  5. #14
    ModeratoreBeTmAsTeR è online
    Reputazione

    • Registrato da Jun 2009
    • Messaggi: 1,139
    • Ha ringraziato: 2
      Grazie ricevuti: 18

      Downloads: 10
      Uploads: 0
    guarda su 0040119A
    Mai memorizzare quello che puoi comodamente trovare in un libro.
    Imparare è un esperienza, tutto il resto è solo informazione.
    L' immaginazione è più importante della conoscenza.
    (A. Einstein)



    ( ) iPhone 4
    ( ) iPad
    ( ) iPad 2
    ( ) iPod Touch
    (✔) iDon't have money to waste

  6. #15
    Melo_Wii è offline
    Reputazione

    • Registrato da Mar 2010
    • Messaggi: 1,227
    • Ha ringraziato: 6
      Grazie ricevuti: 59

      Downloads: 21
      Uploads: 2
    bene ma ora devo steppare?
    premo F8 ma porta a punti a caso... ho trovato qualche addizione ecc ma non riesco a mettere insieme tutto
    La genialità sta nelle piccole idee, la programmazione poi viene da se. - RyujiAndy

  7. #16
    ModeratoreBeTmAsTeR è online
    Reputazione

    • Registrato da Jun 2009
    • Messaggi: 1,139
    • Ha ringraziato: 2
      Grazie ricevuti: 18

      Downloads: 10
      Uploads: 0
    se metti bene il breakpoint ti deve passare all' istruzione dopo premendo F8
    Mai memorizzare quello che puoi comodamente trovare in un libro.
    Imparare è un esperienza, tutto il resto è solo informazione.
    L' immaginazione è più importante della conoscenza.
    (A. Einstein)



    ( ) iPhone 4
    ( ) iPad
    ( ) iPad 2
    ( ) iPod Touch
    (✔) iDon't have money to waste

  8. #17
    Melo_Wii è offline
    Reputazione

    • Registrato da Mar 2010
    • Messaggi: 1,227
    • Ha ringraziato: 6
      Grazie ricevuti: 59

      Downloads: 21
      Uploads: 2
    va a 00401002 (quando non ho ancora avviato il debug) e 0040118D dopo...
    credo che la causa sia che so poco di ASM
    ho chiesto aiuto dove cè predator speriamo bene, questo reversing mi affascina
    Ultima modifica di Melo_Wii; 04-09-2011 alle 21:25
    La genialità sta nelle piccole idee, la programmazione poi viene da se. - RyujiAndy

  9. #18
    ModeratoreBeTmAsTeR è online
    Reputazione

    • Registrato da Jun 2009
    • Messaggi: 1,139
    • Ha ringraziato: 2
      Grazie ricevuti: 18

      Downloads: 10
      Uploads: 0
    Guarda, questa è la soluzione commentata :

    00401153 $ 55 PUSH EBP
    00401154 . 8BEC MOV EBP,ESP
    00401156 . 68 B4304000 PUSH Ice9.004030B4 ; /String = "Zyrel"
    0040115B . E8 42010000 CALL <JMP.&kernel32.lstrlenA> ; \lstrlenA
    00401160 . BA 6A314000 MOV EDX,Ice9.0040316A
    00401165 . 8902 MOV DWORD PTR DS:[EDX],EAX ; infila nell indirizzo puntato da EDX la lunghezza del nick
    00401167 . BF B4304000 MOV EDI,Ice9.004030B4 ; muove il nick in EDI
    0040116C . BE 19314000 MOV ESI,Ice9.00403119 ; ASCII "370512621"
    00401171 . 33C0 XOR EAX,EAX ; azzera EAX
    00401173 . 33DB XOR EBX,EBX ; azzera EBX
    00401175 . 33C9 XOR ECX,ECX ; azzera ECX
    00401177 . 33D2 XOR EDX,EDX ; azzera EDX
    00401179 . BA 6A314000 MOV EDX,Ice9.0040316A
    0040117E . 8B12 MOV EDX,DWORD PTR DS:[EDX] ; muove la lunghezza del nick in EDX
    00401180 > 83C3 01 ADD EBX,1 ; parte un ciclo for con il counter inizializzato ad 1
    00401183 . 3BD3 CMP EDX,EBX ; compare la len con EBX (0)
    00401185 . 74 15 JE SHORT Ice9.0040119C ; se è uguale salta
    00401187 . 8A07 MOV AL,BYTE PTR DS:[EDI] ; Prende il primo carattere del nick e lo mette in AL
    00401189 . 3C 5A CMP AL,5A ; controlla se il carattere è <= di 90
    0040118B . 7E 05 JLE SHORT Ice9.00401192 ; se si salta al prossimo if
    0040118D > 03C8 ADD ECX,EAX ; somma ECX con EAX (valore ASCII del char)
    0040118F . 47 INC EDI ; incrementa EDI (variabile counter dell' iterazione)
    00401190 .^ EB EE JMP SHORT Ice9.00401180 ; cicla di nuovo
    00401192 > 3C 41 CMP AL,41 ; controlla che il char sia maggiore o uguale a 65
    00401194 . 7D 02 JGE SHORT Ice9.00401198 ; se si (quindi se il carattere è MAIUSCOLO) salta
    00401196 . EB 02 JMP SHORT Ice9.0040119A ; se no salta a 00401198
    00401198 > 04 2C ADD AL,2C ; somma 44 al valore del char tenuto in EAX
    0040119A >^ EB F1 JMP SHORT Ice9.0040118D ; somma EAX con ECX (004018D)
    0040119C > 81C1 9A020000 ADD ECX,29A ; somma_char = somma_char + 666
    004011A2 . 69C9 39300000 IMUL ECX,ECX,3039 ; somma_char = somma_char * 12345
    004011A8 . 83E9 17 SUB ECX,17 ; somma_char = somma_char - 23
    004011AB . 6BC9 09 IMUL ECX,ECX,9 ; somma_char = somma_char * 9
    004011AE . 33DB XOR EBX,EBX ; azzera EBX
    004011B0 . 8BC1 MOV EAX,ECX ; muove il seriale corretto (non completo) in EAX
    004011B2 . B9 0A000000 MOV ECX,0A
    004011B7 > 33D2 XOR EDX,EDX ; azzera EDX (che conteneva la len del nick)
    004011B9 . F7F1 DIV ECX ; divide ECX
    004011BB . 80C2 30 ADD DL,30 ; somma 30 a DL
    004011BE . 881433 MOV BYTE PTR DS:[EBX+ESI],DL ; mette DL nell' indirizzo puntato
    004011C1 . 83C3 01 ADD EBX,1 ; EBX + 1
    004011C4 . 83F8 00 CMP EAX,0 ; compara il nostro seriale con 0
    004011C7 . 74 02 JE SHORT Ice9.004011CB ; se lo è salta a 004011CB
    004011C9 .^ EB EC JMP SHORT Ice9.004011B7 ; se no torna allo XOR ad 004011B7
    004011CB > BF C8304000 MOV EDI,Ice9.004030C8 ; ASCII "126215073el"
    004011D0 > 8A4433 FF MOV AL,BYTE PTR DS:[EBX+ESI-1] ; mette il char contenuto nell' indirizzo puntato in AL
    004011D4 . 8807 MOV BYTE PTR DS:[EDI],AL ; AL và nel indirizzo puntato da EDI
    004011D6 . 47 INC EDI ; aumenta EDI
    004011D7 . 4B DEC EBX ; decrementa EBX
    004011D8 . 83FB 00 CMP EBX,0 ; compara EBX con 0
    004011DB .^ 75 F3 JNZ SHORT Ice9.004011D0 ; se non è = a = cicla di nuovo da 004011D0
    004011DD . C607 00 MOV BYTE PTR DS:[EDI],0
    004011E0 . 8D3D B4304000 LEA EDI,DWORD PTR DS:[4030B4]
    004011E6 . 68 B7304000 PUSH Ice9.004030B7 ; prende le ultime due lettere del nick
    004011EB . 68 C8304000 PUSH Ice9.004030C8 ; pusha la prima parte del serial
    004011F0 . E8 BB000000 CALL Ice9.004012B0 ; concatena le due stringhe (prima parte numerica e ultimi 2 char)
    004011F5 68 C8304000 PUSH Ice9.004030C8 ; ecco qui il nostro seriale!!
    Questo invece è il source del mio keygen :

    #include <iostream>
    #include <string.h>

    using namespace std;

    int main ()
    {
    char name[100];
    int stringdec=0;
    int lun=0;



    cout<<"Ice9 crackME keygen, created by BeTmAsTeR\n";
    cout<<"Inserisci l' username\n";

    gets(name); // get the username
    lun = strlen(name); // get username lenght

    if (lun <4 || lun>10)
    {
    cout<<"Inserisci un username valido, 4 < caratteri < 10 \n";
    return 0;
    }

    for (int i=0;i<(lun-1);i++)
    stringdec+=int(name[i]);
    cout<<endl;

    stringdec+=666; // Operazioni per la generazione
    stringdec=stringdec*12345;
    stringdec-=23;
    stringdec=stringdec*9;

    cout<<"Il serial e' : ";
    cout<<stringdec; // Stampa la stringa generata
    for (int i=3;i<lun;i++) // Aggiunge le lettere dopo le prima 3
    cout<<name[i];

    cout<<endl<<endl;
    system("PAUSE");

    return 0;
    }

    Guarda le operazioni per la generazione.

    Per il seriale devi:
    1) sommare l' ASCII delle lettere tranne l' ultima
    2) Fare le 4 operazioni di generazione con il numero che hai ottenuto
    3) Aggiungere tutte le lettere dopo le prime 3 del nick

    Es :
    Nick = Matteo
    m = 109
    a = 97
    t = 116
    t = 116
    e = 101

    valore_intermedio = 109+97+(116*2)+101 = 539
    parte_numerica = ((((539+666)*12345)-23)*9) = 133881318
    parte_letterale = teo ( tutto quello dopo le prime 3 lettere del nick )
    seriale_finale = parte_numerica + parte_letterale = 133881318teo
    Ultima modifica di BeTmAsTeR; 04-09-2011 alle 23:55
    Mai memorizzare quello che puoi comodamente trovare in un libro.
    Imparare è un esperienza, tutto il resto è solo informazione.
    L' immaginazione è più importante della conoscenza.
    (A. Einstein)



    ( ) iPhone 4
    ( ) iPad
    ( ) iPad 2
    ( ) iPod Touch
    (✔) iDon't have money to waste

  10. #19
    Melo_Wii è offline
    Reputazione

    • Registrato da Mar 2010
    • Messaggi: 1,227
    • Ha ringraziato: 6
      Grazie ricevuti: 59

      Downloads: 21
      Uploads: 2
    Uhm ora inizio a capire, faccio un paio di prove con altri crackme, sto provando t4y, il punto di inizio credo sia 7E3BA147 e da li svolge un putiferio di calcoli
    Lascia perdere sto cercando quello della guida di predator è di un certo mikesh ma il link è guasto ,-,
    Ultima modifica di Melo_Wii; 05-09-2011 alle 08:23
    La genialità sta nelle piccole idee, la programmazione poi viene da se. - RyujiAndy

  11. #20
    ModeratoreBeTmAsTeR è online
    Reputazione

    • Registrato da Jun 2009
    • Messaggi: 1,139
    • Ha ringraziato: 2
      Grazie ricevuti: 18

      Downloads: 10
      Uploads: 0
    non andiamo off, apro un altro topic e metto t4y
    Mai memorizzare quello che puoi comodamente trovare in un libro.
    Imparare è un esperienza, tutto il resto è solo informazione.
    L' immaginazione è più importante della conoscenza.
    (A. Einstein)



    ( ) iPhone 4
    ( ) iPad
    ( ) iPad 2
    ( ) iPod Touch
    (✔) iDon't have money to waste

+ Rispondi alla Discussione
Pagina 2 di 3 PrimaPrima 1 2 3 UltimaUltima

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato
Torna a inizio pagina
Moddingstudio.com - Powered by vBulletin
Copyright (c) 2011 vBulletin Solutions, Inc. All rights reserved.
Brown Editore S.p.A. - Capitale Sociale 1.087.500€ I.V. - P.Iva: 12899320159 - Via G. B. Pirelli, 30 - 20124 Milano
Tutti gli orari sono GMT +2. Adesso sono le 15:30.