3 crackme groopki ORiON

Beginner
--------
name: ged_cp
serial: CC1B31D0C8A32AE0

Jakowes cuda sie tam dzieja, ale w koncu nastepuje porownanie
seriali, so nie ma o czym pisac.

Medium
------

W info.txt Diablo pisze, ze serial jest inny na kazdym kompie..
huh zobaczymy d:). Po kilku chwilach spedzonych w SI, z przykroscia
musze zakomunikowac, iz medium niczym nie rozni sie od beginner d:(.
Name przechodzi przez zaje~1 pokrecona procke, a otrzymany wynik,
po konwersji (wsprintf) jest porownywany z wpisanym serialem.
A co z unikalnoscia seriali? Co powoduje, ze na kazdym kompie
te nieszczesne sn sa inne? Crackme korzysta z GetVolumeInformationA..

BOOL GetVolumeInformation(

LPCTSTR lpRootPathName,	// address of root directory of the file system 
LPTSTR lpVolumeNameBuffer,	// address of name of the volume 
DWORD nVolumeNameSize,	// length of lpVolumeNameBuffer 
LPDWORD lpVolumeSerialNumber,	// address of volume serial number *bingo*
LPDWORD lpMaximumComponentLength,	// address of system's maximum filename length
LPDWORD lpFileSystemFlags,	// address of file system flags 
LPTSTR lpFileSystemNameBuffer,	// address of name of file system 
DWORD nFileSystemNameSize 	// length of lpFileSystemNameBuffer 
);	
Wystarczy pobrac 4 parametr i wyripowac odp. procke z crackme, aby
napisac keygena.
 
Hard
----

Co to bedzie to "crypto".. hmm zaloze sie ze cos z RSA.. takie to teraz
modne. Dobra, wiec lookamy. serial musi miec 40 znakow. Potem name
przechodzi przez procke "hashujaca" domowej roboty d;). Nadszedl czas
na miracl! Z ascii na big konwertowane sa:
E8A1276B2AB94FEA3BF1410603600B43E2010A99h
1001h  *boo! wiec mialem racje, RSA*
serial
A na koniec oklepany schemacik: serial jest szyfrowany i porownywany
z wczesniej otrzymanym hashem. So, jak policzyc poprawny sn? 
serial==RSA_DECRYPT(HASH(name))
To samo co w ninja d:(.
Po wygenerowaniu poprawnego sn, okazalo sie ze crackme na buga.
Jesli pierwszy bajt hasha ma wartosc 0-0fh, to wsprintf przekonwertuje
to na ascii jako 00,01,..,0F, natomiast procka miracl, konwertuje takie
bajty na 1,2,3..F, czyli bez zera na poczatku.
DOWOD:
name: gedzior
sn:   E0160A00186503779E40ED31D31CFF3B225CFC3A

wsprintf: 042A4246818A6600A508405025A0460605006052
miracl:    42A4246818A6600A508405025A0460605006052

i miej tu bracie zdrowie d:(.

Podsumowujac, nie wydaje mi sie zeby kolesie z ORiON prezentowali jakis
niesamowity poziom - ich crackme sa delikatnie mowiac przecietne, a pomysly
oklepane.. Jednak nie nalezy nikogo przekreslac z powodu jakiegos tam crackmesa,
moze autor mial zly dzien, a moze to dopiero poczatek groopki? Ide o zaklad
ze Phrozen Crew zaczynala podobnie, jesli nie gorzej d:). No a poza tym, jakby nie
patrzec, ORiON to (male bo male), ale "okno na swiat".. prawdziwa scene.. e, dobra,
sam zdecyduj, bo mnie zaczyna ponosic wyobraznia d;)

ps
d=C54FA32297BB5458257BEEA22442F8A320963FAD

Ged_/crackpl

