| |
Esame UIC n° 1
(cambiamento istruzione) |
|
31/08/1999
|
by Ritz |
|
|
UIC's Home Page |
Published by Quequero |
| |
Il tutorial è buono solo che contiene un errore e
poi non viene esaminato l'ultimo check, quest'ultima cosa è importante dal momento che
era considerata **obbligatoria**, i passi facoltativi non ci sono ma non fa nulla....Erani
facoltativi :))) |
|
| UIC's form |
- E-mail: Eclyps3@excite.com
- Ritz, 41793377, #crack-it
|
UIC's form |
Difficoltà
|
(X)NewBies (
)Intermedio ( )Avanzato ( )Master |
|
Dunque dunque, che dire, in questo tute cercherò semplicemente di spiegare come ho
fatto a crackare il primo esame della UIC :)).
- Esame UIC n°1
(cambiamento istruzione)
- Written by Ritz
Ciao a tutti! Innanzi tutto non so come possa riuscire questo tute, in quanto l'ho
scritto in una decina di minuti il giorno 31 agosto... quindi spero ci capiate qualcosa.
Erm, poi che dire, esso è la soluzione del 1° esame UIC fatto dal nostro caro Quequero
;)). Volevo chiamarlo prof. ma so che si arrabbia... :)))). Che
gentile :p
- Uno soltanto: il caro SoftIce 3.24.
- Ehehehehehe serve proprio? Dovrebbe essere una cosa del tipo quequero.cjb.net ma non ne
sono sicuro. :))
- Questo prog. costituisce il primo degli esami UIC: è da crackare e basta: serve solo
per imparare a usare il Sice (almeno penso vero Que?). Bhè si + o
-, è ovvio che gli altri loschi scopi non ve li posso raccontare :)
- Dunque dunque... pronti? VIAAAA!!! Vediamo un po' cosa ha combinato Que... :)))
-
- Avviate il programma, vi appariranno 2 campi: inseriteli tutti e due, poi premete OK: vi
apparirà un messaggio d'errore: "Serial errato, ritenta!!!"
-
- Cheddire, let's crack it!! Sennò Que perchè l'avrebbe fatto? :)
-
- Allora, innanzi tutto aprite il SoftIce con CTRL+D e settate un bpx su getwindowtexta.
Chiudete il Sice e ripremete OK. Ecco che ora popperete nel vosto debugger. Uscite con
CTRL+D (in questo momento il prog. sta leggendo il nome, non il serial, cosa che a noi non
interessa) e ripopperete nell'Ice. Premete F11 per entrare nel codice del prog., ed eccovi
attraccati qui:
-
- :0040121C CALL USER32!GetWindowTextA
- :00401221 MOV EBX,00402169
- :00401226 MOV EDX,EAX
- :00401228 XOR ECX,ECX
- :0040122A MOV AL,[ECX+00402165]
- :00401230 ADD AL,12
- :00401232 XOR AL,CL
- :00401234 ADD AL,15
- :00401236 ADD AL,02
- :00401238 MOV EBX,00402169
- :0040123D MOV AH,[ECX+EBX]
- :00401240 CMP AL,AH
- :00401242 JNZ 00401311
- :00401248 INC ECX
- [Seguono varie righe di codice che si riveleranno inutili]
- :00401311 MOV EAX,00402165
- :00401316 ADD EAX,2D
- :00401319 XOR EAX,0F
- :0040131C MOV EBX,EAX
- :0040131E XOR EAX,EAX
- :00401320 PUSH 10
- :00401322 PUSH 0040208C
- :00401327 PUSH 00402000
- :0040132C PUSH 00
- :0040132E CALL USER32! MessageBoxA
- :00401333 JMP 0040115C
- :00401338 PUSH 20
- :0040133A PUSH 004020E1
- :0040133F PUSH 00402066
- :00401344 PUSH 00
- :00401346 CALL USER32!MessageBoxA
- :0040134B JMP 00402169
- :00401350 RET
-
- Analizziamo la situaizone: in :00401242 c'è un jnz che salta a :00401311: provate, da
dove siete attraccati, a steppare con F10 e vedrete che proprio quel jump viene eseguito:
continuando a fare ancora step, vi ritroverete davanti la schermata d'errore: infatti, il
jnz situato in :00401242 porta proprio al codice della beggar off. Vabbè... ora uscite
dal Sice con CTRL+D: sappiamo un po' più di cose. Senza eliminare il breakpoint, cliccate
di nuovo su OK: entrerete nel debugger. Usciteci e ci ripopperete. E' arrivato il momento
di agire: esaminiamo ancora la situazione. Steppate fino a trovarvi in :00401240. Lì c'è
il cmp che poi genera il salto. Provate a visualizzare i registri ah ed al: fate prima
"? ah" e poi "? al" (tutto senza virgolette). Si può notare che sono
COMPLETAMENTE diversi, e che nessuno di essi è collegato il qualche modo al seriale
(provate a cambiare il serial number e riosservateli: non cambia nulla); ma allora? Che
significa? Semplice, che i valori di ah e al non potranno MAI essere uguali in quanto
vengono generati con algoritmi che non prendono nemmeno in considerazione il numeretto da
noi inserito, qualunque esso sia, e di conseguenza il salto avverrà sempre e cmq. Quindi
che si fa?
-
- Bhè questo non è esatto dal momento che se guardate bene vedrete
che AL in realtà contiene la prima lettera del vostro nick opportunatamente modificata,
cioè le viene addato 12h, viene poi xorata con CL che nel primo loop vale 0 nel secondo 1
e così via, le viene poi addato 15h poi 2h e poi viene confrontata con il primo carattere
del seriale, se come primo numero inserivate il carattere ASCII che viene fuori da questa
routine allora non sarebbe saltato, ma come alcuni di voi hanno scritto non è questo il
problema NdQue
- Osservate l'indirizzo :00401338. Esso porta diritto a una nuova MessageBox. Potrebbe mai
essere quella del codice "esatto"? Mah, proviamo, perchè no? Bisogna quindi
cambiare l'indirizzo a cui il jnz si riferisce. Scrivete "a 401242" per
modificare l'istruzione, e poi jnz 401338: in questo modo salta alla routine della
messagebox. Chiudete il Sice con CTRL+D e... sììììììììì... "Serial esatto...
Bravo!!!". Perfetto, programmillo crackato. Facile no?
-
- Riassumendo, Que si è divertito :) a farci uno scherzetto: il serial in questo prog non
serve a nulla, e quindi non ha senso cambiare vari jne in je quando basta cambiare
radicalmente una sola istruzione.
-
- Mission passed (almeno spero :)).
-
- Come Volevasi Dimostrare.
-
- ZeE yOu ZoOn.
-
- Ciauzzzzzzzzzzzzzzzzzzz,
-
- Ritz
Dunque, chi posso ringraziare? Beh prima di tutto ci va sempre lui, il mitico
QUEQUEROOOO, sempre moolto disponibile e pronto ad aiutarmi, anche perchè senza di lui
noi cosa avremmo tentato di crackare? Que sei semplicemente un mitooooooo!!!! :)) Heheh grazie :)))NdQue
Un saluto naturalmente va a tutti i miei compagni di calsse (che non so precisamente
chi siano :))), e specialmente BlackDruid, cod (il quale ha anche tentato di corrompermi,
vero cod? :)) e BoBo, in quanto gli altri non li ho mai visti su IRC :((; saluto anche
tutto il chan #crack-it ([aLT255], ^courier, sPEzio, ecc...), tutti i Ring0 e... basta,
penso di aver finito. Ah, no!! manca la cosa più importante! Saluto l'iguana di Quequero.
:) Che bello, è così felice che sta scodinzolando....Mmm se
scodinzola un altro po' mi frantuma la spalla... ;))))NdQue
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 ogni singolo
programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori
prodotti possibili.
- Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.
-
- UIC's page of reverse engineering, scegli dove andare:
Home
Anonimato Assembly
ContactMe CrackMe Links
NewBies News Forum Lezioni
Tools Tutorial