Author Topic: Newbie crackME - 26  (Read 1449 times)

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Newbie crackME - 26
« on: August 07, 2008, 09:10:32 AM »
Zdravim mladez,
toto cme by malo byt urcene cisto pre newbies na nasom(vasom, s vasom patejdlom spejblom a hurvinkom :D). Cez rozne kanaly(vlastne to bolo icq a nie ziadne kanaly) sa mi podarilo nahovorit dvoch typkov od nas z fora na toto cme - podotykam, ze mozu ho riesit aj hociktory iny "newbies"(!!!). To ale vsak neznamena, ze by nikto zo skusenejsich nemohol po nejakom case uverejnit solution pre cme. A taktiez to neznamena, ze im nemozete pomahat tym ze im pomozete v pripade nejakych otazok.

Nemalo by to byt nic extremne tazke. Navyse som tam k originalu cme doplnil aj upx :D

Pravidla: Ziadny patching, napisat tutorial(aspom par slov) a urobit keygenerator

Nazov: TDC's KeyGenME (CrackME #8)
Autor: tdc
Pack: upx
Jazyk: masm/tasm
Typ: crackme(keygenme)

Veci pre keygen:
Code: [Select]
http://www.tuts4you.com/download.php?view.157
Code: [Select]
http://www.masm32.com/download/m32v9r.zip
Obidva linky treba stiahnut a rozbalit(viacmenej je jedno kde to bude)

V PRIPADE HOCIJAKYCH OTAZOK(mam dojem ze hlavne asi s tym keygenom bude treba pomoct) SA PYTAJTE(faxujte mailujte smskujte bliakajte telefonujte)!!
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #1 on: August 08, 2008, 11:02:33 AM »
Zjistit serial uz sem zjistil,princip fungovani taky.Tut uz mam a zbyva mi keygen,ale tak si rikam,ze takhle zabugovany cmecko sem dlouho nevidel :)

MiLA

  • Newbie
  • *
  • Posts: 24
Re: Newbie crackME - 26
« Reply #2 on: August 09, 2008, 12:12:01 PM »
Tak jsem si to tez zkusil, a jelikoz je to urcene pro newbies (jako jsem ja), tak se pokusim napsat nejaky zacatecnicke otazky. Pokud se vam bude zdat, ze sou to fakt lame dotazy, tak se predem omlouvam.


Nejdriv neco malo k tem bugum. Je jich opravdu pozehnane. Nejvtipnejsi mi prijde to, ze jako spravne sn k jakemukoliv jmenu staci zadat jakekoliv jednociferne cislo :) Dale pak, kdyz se zada jmeno s prvnim velkym pismenem, tak se serial vypocte pouze pro jmeno bez tohoto prvniho znaku, pro jmeno o ctyrech znacich mi to serial nespocetlo,...

Jinak myslim si,ze priste by bylo lepsi pro novacky nebalit to. Je to totiz baleny njaky upx "shitem" a pres klasicky upx unpack se to ozbalit neda. A jeliokz maual unpack neumim, musel jsem pouzit tool. Coz mi samozrejme stejne nic nedalo :(

Ted k mym dotazum. Zjistit serial nebylo nic tezkeho. V callu na adrese 00401198 je samotna registracni rutina. Neni dlouha a na jejim konci se porovnavaji registry ESI(spravny sn) a EDI(nami zadany serial). Podle toho se pak nastavuje podmineny skok dale na goodboy nebo badboy.
Rad bych napsal keygen, ale asm neumim a nektere instrukce v kodu nechapu. A abych byl schopny si to prepsat do nejakeho jineho jazyka, musim tomu 100% rozumet. Tak jestli by se nekdo k temto instrukcim mohl vyjadrit.

00401251    36:C68429 00FFF>mov     byte ptr ss:[ecx+ebp-100], 0
0040125A    8DB5 00FFFFFF   lea     esi, dword ptr [ebp-100]
00401260    F3:A6           repe    cmps byte ptr es:[edi], byte ptr>

Moc nechapu ty registry v hranatych zavorkach. Jestli se nepletu EBP drzi nejakou adresu ze zasobniku. V tomhle pripade tedy scitam co? Adresy nebo hodnoty, ktere jsou na adresach..?
Instrukce lea dela presne co? To same repe. Tam pouze citem chapu, ze dochazi k porovnani spravneho a zadaneho serialu,ale treba uz vubec nevim jestli ma tato instrukce nejake, popripade jake, navratove hodnoty?

Dik za odpovedi

PS: Dalsi dotazy ci postrehy poslu az tak za tyden nebo mozna za 14 dni, odjizdim pryc.

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #3 on: August 09, 2008, 01:16:56 PM »
Tady posilam svoje reseni.Opravdu nic tezkyho.

Stahujte tady:
Code: [Select]

http://dannyk.aspone.cz/files/tutorial-byMaster.rar


Co se tyka otazek od MiLA:

1,Chyb tam je jak maku,to je pravda :D
2,Prvni znak muze byt jakykoliv,protoze se kontroluje,zda li je konec \0.
3,Pro 4 znakove jmeno mi keygen pocita jmeno spravne a crackme to vzalo(jmeno MiLA).bere i velka pismena,akorat je prevadi na male
4,Mam dojem,ze to je uplne klasicky upx.Unpack je jednoduchy.Odscrolujes od entry pointu az nakonec bloku kodu(konci jmp xxxxxx).Na ten jmp das BP.F9 pak F8 a ses na oep(muze byt dump,ale tady neni potreba).
5,Tema 3 instrukcema se vubec nezajimej.Pro keygen nejsou vubec potreba.Akorat co delaj,ze ukonci dany retezec nulou a pak vybere adresu ze zasobniku,kde je spravny sn,a ta cmp dela porovnani,zda li je nasledujici znak \0(viz bod 2).
6,V hranatych zavorkach je vzdy adresa,ty +ebp apod scita a odcita jednotlive adresy.Napr:

ebp = 0040000 a esi=1000tak [ebp + esi] = 0041000

7,Pro REPE A CMPSB mrkni zde:
Code: [Select]

http://www.epstudio.cz/~papousek/uc14.htm

Nasel bys tam i lea.Lea vyzvedava ze zasobniku.

Pro samotnou keygenizaci je potreba jen 2 matematicke operace.Navic pokud jednou zadate serial,tak musite crackme restartovat,protoze autor nemaze buffer pro serial.

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 26
« Reply #4 on: August 12, 2008, 09:32:05 AM »
No akoze s tym tutorialom si mohol este pockat.. aby si nahodou niekoho nepokusal sa tam pozret a cheatovat :)

Sorry za to cme.. To som vybral len namatkovo uplne nahodou z reversing.be fora.. Nekontroloval som ho vobec(bugy uz vobec nie).. Iba som kukol na algo a zistil ze je kratke tak som sa rozhodol ze cme vyhovuje..

Sorry za ten pack.. to je len ceresnicka na torte :D ..je to upx ibaze som premenoval sekcie aby sa nedalo pouzit "upx -d"..

Quote from: MiLA
00401251    36:C68429 00FFF>mov     byte ptr ss:[ecx+ebp-100], 0
0040125A    8DB5 00FFFFFF   lea     esi, dword ptr [ebp-100]
00401260    F3:A6           repe    cmps byte ptr es:[edi], byte ptr>

Ten prvy riadok konretne znamena ze sa na koniec vytvoreneho stringu(znaky som sa nahadzali na stack a potom sa porovnavaju) da jeden 00h byte(oznacuje koniec stringu)

Druhy riadok ti da do ESI absolutnu adresu EBP-100(klikni si pravym tlacidlom mysi na stack okno a daj ADDRESS/RELATIVE TO EBP, najdi si EBP-100 a klikni nan, teraz opat klidni pravym tlacidlom na stack a daj ADDRESS/ABSOLUTE a mas adresu ktoru ti instrukcia LEA nahodi do ESI)

Posledny riadok funguje tak, ze v ecx mas nejaku hodnotu.. ta hodnota je pocet opakovani instrukcie REPE CMPS.. tj kolko bytov sa ma skontrolovat medzi registrom EDI a ESI.. O kolko sa ti znizi hodnota v ecx o tolko znakov sa posunula kontrola - cize na to mieste nastala chyba tj byty sa nezhoduju(ty potrebujes aby si mal po vykonani instrukcie REPE CMPS v ecx nulu tj zhodovali sa vsetky znaky)..


BTW: ten keygen od mastera mi nejde :D :p
« Last Edit: August 12, 2008, 11:00:34 AM by pr0p4g4nd4 »
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #5 on: August 13, 2008, 08:42:29 AM »
Haze ti to nejakou chybu nebo neco?

Pripadne tam je i zdrojak,tak si to rekompiluj :)

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 26
« Reply #6 on: August 13, 2008, 10:33:55 AM »
Hadze mi toto: "Nepodarilo sa spustit tuto aplikaciu, pretoze jej konfiguracia je nespravna. Problemy je pravdepodobne mozne odstranit opakovanou instalaciou aplikacie."

No s rekompilaciou by bol problem lebo som este nemal moznost preniest si subory domov - cize skusal som to iba na skolskom compe  :eek:

BTW: mohol si k tomu .swf prihodit aj .html subor - nechce sa mi furt dragovat ten .sfw do firefoxa  :p
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #7 on: August 13, 2008, 05:36:25 PM »
Mozna vim,proc to haze.Mrkni se,jestli to vyzaduju nejakou takovou knohovnu "msvcp90.dll nebo tak nejak.Asi jak sem nastavoval release kompilaci,tak sem zapomnel zrusit tuhle vazbu.

To na to video koukas 100x denne,ze se ti to nechce dragovat? :D

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 26
« Reply #8 on: August 14, 2008, 10:27:40 AM »
Ach, tak to sa bude musiet pozriet niekto iny.. Tu na compe to mozem max tak stiahnut a skusit spustit a to je asi tak vsetko..  :mad:

No 100x ani nie.. Ide skor o to ze sa na prehliadanie suborov pouzivam dost casto winrar.. A ked chcem to video pustit vo firefoxe tak to musim najprv rozbalit a potom dragnut do firefoxu.. Kdezto keby si tam dal aj ten html subor tak by mi stacilo len dvojkliknut na ten html subor a winrar mi mi automaticky rozbalil okrem html suboru aj swf subor. Cize by sa mi video hned pustilo a nie je s tym tolko roboty.. :D :D
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

NeptuN

  • I'd be forever young
  • Junior Member
  • ***
  • Posts: 158
Re: Newbie crackME - 26
« Reply #9 on: August 15, 2008, 06:26:25 PM »
pekne cme, tak me napada, vlastne vsechny codery / decodery ala UPX pracuji na bazi polymorfismu, je to tak? na zacatku kousek kodu pro decryptovani, a pak samotny kod...

chci se zeptat k tomu UPX, staci tedy hodit breakpoint na opravdovy EntryPoint, a pak dumpnout? nebo je treba jeste neco dalsiho? nevim, je treba rekonstruovat tabulku importu, popripade neco dalsiho?
Knowledges are powerful weapon

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #10 on: August 16, 2008, 12:39:36 PM »
No,prevaznano.Vetsina packeru je kontejneroveho typu.

Ano,kdyz hodis na oep bp a das dump,tak mam pocit,ze uz tabulku nemusis opravovat(u upx).Ale nejsem si jisty.

Conflict

  • g0d i5 just a stat1st1c
  • Senior Member
  • ****
  • Posts: 475
Re: Newbie crackME - 26
« Reply #11 on: August 16, 2008, 03:58:31 PM »
upx neni polymorfni ne? vzdyt decoder je po kazdy stejnej. kdyby slo o polymorfismus, tak musi byt dekoder pokazdy jinej (dokud se nevycerpa urcity mnozstvi kombinaci).

Master

  • [t4C]newbie child
  • VIP
  • *****
  • Posts: 615
Re: Newbie crackME - 26
« Reply #12 on: August 16, 2008, 04:07:41 PM »
jo,to jo,ja tam nebral ten polymorfismus v potaz

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 26
« Reply #13 on: August 18, 2008, 11:31:29 AM »
Upx urcite nie je poly(resp poly v suvislosti s bezstratovou kompresiou je uplna kravina podla mna  ;) )..

Ano ano.. Staci ti dat bp na OEP(najst OEP je otazka sekund lebo na OPE skace u upx vzdy longjump uplne naspodu unpacking kodu), dumpnut a musis aj rebuildovat importy(OEP minus imagebase dosadit do OEP pola, IAT AUTOSEARCH, GET IMPORTS, FIX DUMP)..
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 26
« Reply #14 on: August 28, 2008, 09:02:53 PM »
Quote from: NeptuN
chci se zeptat k tomu UPX, staci tedy hodit breakpoint na opravdovy EntryPoint, a pak dumpnout? nebo je treba jeste neco dalsiho? nevim, je treba rekonstruovat tabulku importu, popripade neco dalsiho?
Ak chce? čistý originálny target, tak pou?i upx -d s tým, ?e si upraví? názvy tých troch sekcií, ktoré pr0p4g4nd4 svojsky pomenoval   :rolleyes:  .  Stačí na to i hexeditor.

.cikula premenuj na UPX0
.bakula premenuj na UPX1
.smrdzis premenuj na .rsrc

Potom pou?i UPX a mal by sa ti zobraziť takýto výstup:
Code: [Select]
>upx -d keygenme.exe
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2008
UPX 3.03w       Markus Oberhumer, Laszlo Molnar & John Reiser   Apr 27th 2008

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
     87552 <-     37376   42.69%    win32/pe     keygenme.exe

Unpacked 1 file.

Ak sa by si mal chuť ručne unpackovať UPX, tak mô?e? vyu?iť na?e videá z unpack ?kolky, ktoré sme uploadovali na FTP, ale pokiaľ ich niekto zmazal, tak to u? ti nepoviem. Ja ich mám v?ak v?etky na disku...

pr0p4g4nd4: Mňa na tom CMku rozčuľuje, ?e mi vychrchláva netlačiteľné znaky. A nechci vedieť, aký je key pre slovo pr.p.g.nd. .SCF. a tie bodky sú tam zámerne, keď?e CM neberie číslice.

Cez víkend si skúsim nájsť čas a detailne toto CM popí?em, lebo vidím, ?e sú tu isté nejasnosti ohľadne niektorých in?trukcií, tak?e treba ich uviesť na správnu mieru, lebo tým sa človek učí.  ;)
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation