| |
Corso 5 Newbies |
|
9/7/2000 |
by Pispola |
|
| |
UIC's Home Page |
Published by Quequero |
| |
E bravo Pispola, sono molto felice di aver visto
(finalmente) questo tute, mi raccomando continua così :)....Ed un salutone alla famiglia
visto che non ci vediamo e sentiamo dall'HackMeeting visto che tu sei sparito
inspiegabilmente :)) |
|
| UIC's form |
- E-mail:pispola_@tin.it
- On IRC:Pispola, Channel: #Crack-it
|
UIC's form |
Difficoltà
|
(X)NewBies (
)Intermedio ( )Avanzato ( )Master |
|
Proviamo a trovare il codice del Crackme di Andrea speriamo non sia troppo
difficile.................:-)
- Corso 5 NewBies
Written by Pispola
- Bisogna Trovare il giusto Serial in base al Nome
- SoftIce
- http://www.uic-spippolatori.com/
- CrackMe
- Allora partiamo altrimenti non si finisce...:-)
- Facciamo partire il Crackme del corso 5 , Per averne un idea di cosa ci aspetta ,e
pigiamo su Check...
- Puntualmente il programma ci insulta giustamente perche' manca il nome ed il serial ma
Scopriamo che vuole
- almeno 6 caratteri per il nome.(non avevo visto che era pure scritto!!!!! ) :-(((
- Ok inseriamo il nome Pispola (meno male che sono 7)ed un serial a caso 123456
- meno male che si e' addolcito (ci insulta un po meno) :-)
- Ora ci resta da settare il famigerato bpx ma dove?
- su GetWindowwTextA, su GetDlgItemTextA o HMEMCPY ?
- si prova e si vedra'!!!!
- il primo non poppa proviamo con il secondo e Tadaaaaa ecco Sice in nostro aiuto
- steppiamo con due F12 per uscire dalla User32 e Mfc42d ed eccoci nel codice di 5newbies.
- Ancora qualche F8 e vediamo che in questo punto viene caricato il primo carattere del
nostro Nome
- (50 nel mio caso) in al.
-
- :004026D6 8A8435D4FFFFFF mov al, byte ptr [ebp+esi-0000002C] Carica
il 1 carattere
:004026DD 3C00 cmp al, 00 Controlla che non sia 00 (nome finito)
:004026DF 7466 je 00402747 Altrimenti
salta
- Il nostro carattere in esadecimale si trova in eax e continuando a steppare si vede eax
modificata da tre Xor con dei valori
-
- :004026E1 8A8C356CFFFFFF mov cl, byte ptr [ebp+esi-00000094]
:004026E8 32C1 xor al, cl 1° operazione
:004026EA 8A8C354CFFFFFF mov cl, byte ptr [ebp+esi-000000B4]
:004026F1 32C1 xor al, cl 2° operazione
:004026F3 8A8C352CFFFFFF mov cl, byte ptr [ebp+esi-000000D4]
:004026FA 32C1 xor al, cl 3° operazione
- A questo punto trovo in EAX il valore della mio 1 carattere xorato AE (dovrebbe essere
il valore da comparare)
-
- :004026FC 8A9C3D8CFFFFFF mov bl, byte ptr [ebp+edi-00000074] Carica
il 1° carattere del seriale
- nel nostro caso carattere 1 = 31
- Questo pezzo di codice non mi e' ben chiaro fa delle elaborazioni
al nostro seriale
- :00402703 80EB30 sub bl, 30
:00402706 80FB09 cmp bl, 09
:00402709 7E03 jle 0040270E
:0040270B 80EB07 sub bl, 07
:0040270E 8A943D8DFFFFFF mov dl, byte ptr [ebp+edi-00000073]
:00402715 80EA30 sub dl, 30
:00402718 80FA09 cmp dl, 09
:0040271B 7E03 jle 00402720
:0040271D 80EA07 sub dl, 07
:00402720 C0E304 shl bl, 04
:00402723 02D3 add dl, bl
:00402725 46 inc esi <---------------------incrementa esi usato per lo xor
:00402726 47 inc edi <---------------------incrementa edi usato per lo xor
:00402727 47 inc edi <---------------------incrementa edi usato per lo xor
:00402728 3AC2 cmp al, dl <--------------e qui determina se il
primo carattere con il primo seriale e' giusto
:0040272A 74AA je 004026D6 <----------se e' uguale salta al
prossimo carattere
-
- A questo punto abbiamo la soluzione in mano:
-
- O modifichiamo il je alla locazione 0040272A in jne (da 74AA a 75AA) ed il programma
registrera' qualsiasi seriale tranne quello giusto
O modifichiamo il je alla locazione 0040272A in jmp (da 74AA a EBAA) ed il programma
registrera' qualsiasi seriale
oppure si controlla (con un bpx alla locazione 004026FC) il valore di EAX che passo
dopo passo ci mostrera' tutto il nostro seriale caratttere per carattere, facendo
attenzione ad invertire lo zero flag tutte le volte che incorriamo nell'istruzione
:0040272A 74AA je 004026D6
Siccome nel rileggere le ultime 3 righe ho capito anch'io di non essere stato Molto
chiaro spendo 2 parole in piu'(visto che nell'ultimo meeting della UIC si e' parlato di +
chiarezza anche sulle cose semplici) al limite il buon Que tagliera' questultima parte.
- settiamo un bpx su :004026D6 8A8435D4FFFFFF mov al, byte ptr [ebp+esi-0000002C]
- e tutte le volte che Sice poppa si vedra ' caricato un caratere
del Nostro seriale in EAX
- settiamo un bpx su :004026FC 8A9C3D8CFFFFFF mov bl, byte
ptr [ebp+edi-00000074]
- e quando Sice poppa in questo punto in in EAX c'e' il primo pezzo
del Nostro seriale giusto
- ed l'ultimo bpx su :0040272A 74AA je 004026D6
dove ci sara' da modificare lo z flag affinche' il programma continui l'esecuzione
fornendoci tutti i pezzi di seriale anche se il seriale inserito e' sbagliato. Tutte le
volte che Sice poppera' su qesta linea si dovra' cliccare in sice col mouse sulla z in
alto a destra e con il tasto "ins" far diventare la z maiuscola e di diverso
colore in questo modo il jmp rispondera' ad un salto invece che ad un (no jump). Eseguire
questa operazione finche' il prog. avra' eseguito tutte le operazioni su tutte le lettere
del Nome inserito.
esempio : Nome = Pispola
al primo brek EAX conterra' il codice hexe 50=P al secondo brek EAX conterra' il codice
AE (primo pezzo di seriale) al terzo brek invertire lo z flag per continuare l'esecuzione
questa operazione va eseguita per il numero di caratteri del Nome inserito.
P..... i... s... p ..o.. l... a
AE 96 8F 8D 95 97 8F
-
Pispola
Ed eccoci arrivati alla fine spero di essere stato chiaro (esendo il primo Tute che
scrivo) :-)
Un saluto a tutti gli amici di Crack-it , KRIOSMAN, SPIN0NE, DED, BARON-SAM, SILENT,
MALATTIA, LITTLEJO, CEK, BIECO ,INT19, BLAKDRUID, YADO , QUEQUERO (che non si fa mai
sentire), PARADOX, TIN-MAN (e tutti quelli che mi son dimenticato).
UN RINGRAZIAMENTO SPECIALE ALLA MIA TASTIERA CHE HA SOPPORTATO PAZIENTEMENTE ALLA
STESURA DI CODESTO TUTES.
CiAoZ @ ToDos StaKko
- Vorrei ricordare che il software va comprato e non rubato, dovete registrare il
vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali
danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo
documento è stato scritto per invogliare il consumatore a registrare legalmente i propri
programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti
tale documento aiuta a comprendere lo sforzo immane che AndreaGeddon ha dovuto portare
avanti per fornire a noi LEIM questo Splendido prodotto. :-)))
-
- Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.