6 corso newbies |
|
|
27/9/2000 |
by "Pispola" |
|
Published by Quequero |
||
.....Quando saro' Grande potro' fare quello che voglio ? |
Weee, ebbravo Pispola, che tralaltro ci ha presentato pure Raabbit? Come chi è......Ma è ovvio....La sua amante..hehehe, non scherzo, è il figlioletto che presto supererà il papino, forza raabbit :) |
......Non si vive Mai cosi' a lungo. Raabbit |
| UIC's form |
|
UIC's form |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
Cerchiamo di capire come risolvere il 6 corso della UIC
Introduzione |
Tools usati |
URL o FTP del programma |
http:\\quequero.cjb.net
Notizie sul programma |
Questo e' un CrackMe ideato da AndreaGeddon per farci capire le 2 palle che ti vengono quando devi Toccare il registro di Windog
Essay |
Allora Eccoci difronte ad un altro appuntamento con Un CrackMe di Andrea:
Avanti, Visto che dobbiamo sniffare cosa il programma legge dal registro di Windoz mettiamo in esecuzione il Prog. Regmon (che da ora chiamero' Reg) e vediamo che ci consiglia.
Facciamo partire il Target e vediamo che Reg ci dice OpenKey HKCU\AndreaGeddon --------------> Result : NOT FOUND.
PS. Siccome vicino a me c'e' Raabbit mi permetto di scrivere qualche impressione o frase usata da lui.
Bha che serva una chiave Chiamata AndreaGeddon nella HKEY_CURRENT_USER ?
<Raabbit> proviamo a crearla e vediamo che dice
doppio Click sulla riga dove il Reg ci dice NOT FOUND e ci troviamo nel registry,Selezioniamo HKEY_CURRENT_USER tasto Destro Nuovo Chiave e digitiamo il nome della chiave (AndreaGeddon) Chiudiamo Regedit e riproviamo.
Ben fatto il primo livello e' superato
<Raabbit> Ma che cazzata tutto qui?
Ok Proseguiamo col prossimo livello
pigiamo il 2 tastino e il reg ci dice che non puo' aprire la sottochiave 1 di AndreaGeddon :
OpenKey HKCU\AndreaGeddon\1 --------------> Result : NOT FOUND.
E noi la creiamo (anzi la crea Raabbit), ripigiamo il 2 tastino e ci dice che non e' del tutto giusta infatti il Reg ci segnala un NOT FOUND su :
OpenKey HKCU\AndreaGeddon\1\2 --------------> Result : NOT FOUND.
Vabbe' si crea la sottochiave 2
Ma non e' sufficente il Target ci chiede la sottochave 4
OpenKey HKCU\AndreaGeddon\1\2\4 --------------> Result : NOT FOUND.
Ok creiamola e vediamo se ce ne sono ancora molte perche' mi son rotto un pochino ;-)))))
COOL ! e' fatta si passa al 3 livello
<Raabbit> Dammi un 5!!!!!
3 Livello :
Pigiamo e : Sei in un mondo Fittizio.......
Hmmm che serve ? vediamo il Reg
OpenKey HKCU\AndreaGeddon\WhatIsTheMatrix --------------> Result : NOT FOUND.
E creiamo la chiave WhatIsTheMatrix , Ma Andrea non e' ancora contento (che vorra questo baldo Giovane) ;-)
riguardiamo il Reg. evediamo un Query Value Ex
QueryValueEx HKCU\AndreaGeddon\WhatIsTheMatrix\WelcomeToTheRealWorld --------------> Result : NOT FOUND.
A questo punto non creeremo una chiave ma una Stringa all'interno di HKCU\AndreaGeddon\WhatIsTheMatrix
Ed assegnamo un valore a caso (visto che non sappiamo quello Giusto). io inserisco Pispola
ed il Reg ci risponde cosi:
QueryValueEx HKCU\AndreaGeddon\WhatIsTheMatrix\WelcomeToTheRealWorld --------------> Result : SUCCESS 50 69 73 70 6F 6C 61
Cioe' il valore che abbiamo dato alla stringa gli va anche bene per aprire la chiave ma ci dice anche :
CloseKey ------------->Result: BADKEY (La chiave non e' Esatta)
e quale sara' la chiave giusta ?
A questo punto cominciamo a tracciare il programma con sice.
BPX su RegQueryValueExa ,
F12 e ci troviamo in questo punto
:00401795 test eax, eax
Steppiamo un po' (F8) ed ariviamo a questa istruzione
:004017B1 mov al, byte ptr [edi+ebx] si nota che viene caricato in al il primo carattere del mio nome (50)
:004017B4 mov cl, byte ptr [esp+edi+18] e qui viene caricato il carattere T (54)
:004017B8 cmp al, cl in questo punto avviene il confronto
Atroce dubbio sorge nella nostra mente :
editiamo cosa contiene edi+ebx ( in sice D edi+ebx) = Pispola ops il mio valore inserito
editiamo cosa contiene esp+edi+18( in sice D esp+edi+18) = Trinityy
Che sia il valore corretto ? ora proviamo. :-)
andiamo a cambiare il valore nel Registry da Pispola a Trinityy e vediamo
bene era il valore giusto si va verso il 4 livello.
Apriamo ancora Reg e vediamo che cerca la chiave :
OpenKey HKCU\AndreaGeddon\Sergej\Rachmaninov --------------> Result : NOT FOUND.
La creiamo (Speriamo siano finite).
ripigiamo il 4 tastino e ops... non e' ancora finita....
il reg ci segnala che serve una stringa chiamata QualBuonVento (Notare il QueryValueEx )
QueryValueEx HKCU\AndreaGeddon\Sergej\Rachmaninov\QualBuonVento--------------> Result : NOT FOUND
Ed andiamo a creare sto valore.
Ma quando riproviamo a registrarci ci dice che la Key e' Bad ........
Che si fa ?
Chiamiamo in aiuto il Buon Sice come al livello 3
BPX su RegQueryValueExa ,
F12 e ci troviamo in questo punto
(Nota tracciando con F8 si nota che l'unico Cmp che incontriamo e' quello in 00401902 e se invertiamo lo Zero Flag il Programmillo ci registra) :-p
Noi invece andiamo a mettere un valore a caso in QualBuonVento.
:0040189E test eax, eax Uscita Dalla Call
:004018A0 je 004018B3
:004018A2 push 00000010
:004018A4 push 00404608
:004018A9 push 004045D4
:004018AE jmp 00401966
:004018B3 mov edi, esi
:004018B5 or ecx, FFFFFFFF
:004018B8 xor eax, eax
:004018BA xor edx, edx
:004018BC repnz
:004018BD scasb
:004018BE not ecx
:004018C0 dec ecx
:004018C1 je 004018DC
:004018C3 mov al, byte ptr [edx+esi] Carica il primo carattere del valore della chiave
:004018C6 mov edi, esi
:004018C8 add al, dl
:004018CA or ecx, FFFFFFFF
:004018CD mov byte ptr [edx+esi], al
:004018D0 xor eax, eax
:004018D2 inc edx
:004018D3 repnz
:004018D4 scasb
:004018D5 not ecx
:004018D7 dec ecx
:004018D8 cmp edx, ecx vede se ci sono ancora caratteri nella nostro valore
:004018DA jb 004018C3 Altrimenti riesegue il ciclo
:004018DC mov edi, esi
:004018DE or ecx, FFFFFFFF
:004018E1 xor eax, eax
:004018E3 xor edx, edx
:004018E5 repnz
:004018E6 scasb
:004018E7 not ecx
:004018E9 dec ecx
:004018EA je 00401902
:004018EC mov al, byte ptr [edx+esi] Qui riprende i nostri 4 caratteri Modificati dal primo Ciclo
:004018EF mov edi, esi
:004018F1 add bl, al E qui li somma
:004018F3 or ecx, FFFFFFFF
:004018F6 xor eax, eax
:004018F8 inc edx
:004018F9 repnz
:004018FA scasb
:004018FB not ecx
:004018FD dec ecx
:004018FE cmp edx, ecx E qui si controlla se e' finito
:00401900 jb 004018EC Altrimenti salta
:00401902 cmp bl, D1 Controlla se siamo stati bravi (in EBX si vede il risultato da noi ottenuto fino a questo punto)
:00401905 jne 0040195A E ci registra
Si nota che nel secondo ciclo il 1 carattere del codice rimane invariato mentre gli altri 3 sono aumentati Siccome ho avuto una botta di culo (sotto consiglio di Raabbit ) e 1234 danno somma finale e' D0 aumentero' di uno il primo carattere che diventera' 2234.
schiaccimo il tastino ed eccoci nell'olimpo .
Pispola & Raabbit
|
Non e' stato difficile e sicuramente abbiamo imparato a creare le chiavi nel registro ;-))
<Raabbit> I primi 2 Livelli sono stati molto facili e gli alti un po' meno ma nel complesso Bello :-)
Eccoci ai saluti Tutto Crack-it e UIC ,Spin0ne Per la sua dritta (un giorno per capire che era WhatIs e non Whatls :-( ) , Andrea per il tempo che perde a farci i Corsi Quequero che non fa + nulla e lo FA fare a Andrea . e tutti quelli che non abbiamo menzionato...Ah, grazie per avermi dato del fannullone :) NdQue
Disclaimer |