Inviato 3 Settembre 201113 anni Vi propongo un crackME a me molto caro XD, il primo in assoluto che crakkai ... Ice9 !! E' veramente facile, quindi le richieste saranno 3 + Una Crack che permetta di fare accettare qualsiasi seriale + Un Self-Keygen (il programma restituisce una messagebox con il seriale corretto) + Un Keygen Difficoltà : [1/10] Tempo di soluzione : 5 minuti per richiesta A voi : http://www.mediafire.com/?sy39p4qeqhprbqh Modificato 6 Settembre 201113 anni da BeTmAsTeR
Inviato 3 Settembre 201113 anni E' veramente facile? o.o Io al massimo riesco a skippare gli errori, da dove mi suggerisci di partire? se vuoi mandami un email (pm sono rotti) [email protected]
Inviato 3 Settembre 201113 anni Autore Cerca di fare almeno la prima richiesta ... se non ti sono chiare alcune cose, leggi la guida che ho postato Modificato 3 Settembre 201113 anni da BeTmAsTeR
Inviato 4 Settembre 201113 anni https://www.youtube.com/watch?v=9YswNE3LNFc Ed ecco il download http://www.megaupload.com/?d=T1EQFO6T Modificato 4 Settembre 201113 anni da Melo_Wii
Inviato 4 Settembre 201113 anni Autore bravo , bastava noppare un salto ... Ok, ora devi fare il self-keygen, ti consiglio di cercare dove viene alloccato il seriale corretto, steppando in fase di debug Modificato 4 Settembre 201113 anni da BeTmAsTeR
Inviato 4 Settembre 201113 anni azz da domani al 7 ho esami di riparazione, quindi posso iniziare a metterci mano il 7 sera, comunque in pratica devo debuggare con olly e vedere l' algoritmo per generare una key valida e poi fare un programmino che fa questo algoritmo esatto?
Inviato 4 Settembre 201113 anni Autore no, per il self-keygen devi patchare Ice9 in modo che sia lui stesso a riportare una messagebox con il seriale corretto. Per il keygen dei fare quello che hai detto
Inviato 4 Settembre 201113 anni Fatto non era difficile http://www.megaupload.com/?d=0VA7VTMZ dopo faccio il video
Inviato 4 Settembre 201113 anni da dove inizio? allora il self keygen pusha 403198... non ci arrivo.. EDIT: trovato il post di predator, keygen in arrivo? EDIT2: 00401153 e l' offset dove inizia tutto, e manda a 00401180 > /83C3 01 ADD EBX,1 00401183 . |3BD3 CMP EDX,EBX 00401185 . |74 15 JE SHORT Ice9.0040119C 00401187 . |8A07 MOV AL,BYTE PTR [EDI] 00401189 . |3C 5A CMP AL,5A 0040118B . |7E 05 JLE SHORT Ice9.00401192 0040118D > |03C8 ADD ECX,EAX 0040118F . |47 INC EDI ; Ice9.004030B7 00401190 .^\EB EE JMP SHORT Ice9.00401180 niente credo sia errato help sigh Modificato 4 Settembre 201113 anni da Melo_Wii
Inviato 4 Settembre 201113 anni 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)
Inviato 4 Settembre 201113 anni A tempo perso ho fatto un patcher http://www.mediafire.com/?zkhvgqnphhy1p5c
Inviato 4 Settembre 201113 anni 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
Inviato 4 Settembre 201113 anni Autore se metti bene il breakpoint ti deve passare all' istruzione dopo premendo F8
Inviato 4 Settembre 201113 anni va a 00401002 (quando non ho ancora avviato il debug) e 0040118D dopo... credo che la causa sia che so poco di ASM sigh ho chiesto aiuto dove cè predator speriamo bene, questo reversing mi affascina Modificato 4 Settembre 201113 anni da Melo_Wii
Inviato 4 Settembre 201113 anni Autore 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); 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; 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 Modificato 4 Settembre 201113 anni da BeTmAsTeR
Inviato 5 Settembre 201113 anni 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 ,-, Modificato 5 Settembre 201113 anni da Melo_Wii
Inviato 6 Settembre 201113 anni yee finalmente dopo che mi hai imboccato col cucchiaino mi sono fatto un keygennino in vb2008 http://img268.imageshack.us/img268/3779/keygen2b.png EDIT: fixato il limite dei caratteri e bloccato il pulsante per ingrandire e altre cose meno importanti http://www.mediafire.com/?quuhctzusf61u5s Enjoy Modificato 6 Settembre 201113 anni da Melo_Wii
Inviato 6 Settembre 201113 anni Autore weeeeee. Ottimo lavoro, modifico il titolo e metto il tag [solved by Wentstorm]
Inviato 7 Settembre 201113 anni Questa è la cartella di MF con tutto http://www.mediafire.com/?7o9oep7u2xup8 manca solo il sorgente, che faccio lo uppo?
Inviato 11 Settembre 201113 anni perchè avviando ICE9 viene indicato da comodo firewall come "unclassified malware@1"?
Vi propongo un crackME a me molto caro XD, il primo in assoluto che crakkai ... Ice9 !!
E' veramente facile, quindi le richieste saranno 3
+ Una Crack che permetta di fare accettare qualsiasi seriale
+ Un Self-Keygen (il programma restituisce una messagebox con il seriale corretto)
+ Un Keygen
Difficoltà : [1/10]
Tempo di soluzione : 5 minuti per richiesta
A voi : http://www.mediafire.com/?sy39p4qeqhprbqh
Modificato da BeTmAsTeR