RE FORUM

[REVERSE ENGINEERING] => Newbie => Topic started by: llAmElliK on August 14, 2005, 10:17:12 AM

Title: Newbie crackME - 2 -> [SOLVED]
Post by: llAmElliK on August 14, 2005, 10:17:12 AM
CrackME - od Chiwaka
Packer - není
Protect - N/S
MASM/TASM
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 14, 2005, 04:40:14 PM
myslim ze tohle pro zacatecnky zrovna nebude ;)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 14, 2005, 05:18:10 PM
Suhlasim s tebou, ale nevzdavam sa ...  :))
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 14, 2005, 06:59:51 PM
jo to mate pravdu :)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: BlackRose on August 15, 2005, 07:02:48 AM
Hm, taky myslim, ze je to pro zacatecniky trosku :eek:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 15, 2005, 09:20:06 AM
No ja u? zkoumam kod :) zatim sem dosel na nejaky SHR funkce,ale jeste porad nevim,jak tam pracuje ta fce WideCharToMultiByte  :o
Title: Newbie crackME - 2 -> [SOLVED]
Post by: DARKER on August 15, 2005, 12:42:14 PM
Master> WideCharToMultiByte ?
hxxp://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_2bj9.asp
je to co hladas :-)

API funkcia mam dojem dokaze konvertovat UNICODE (dvojbytove) stringy na NORMAL stringy a mam dojem ze dokaze konvertovat aj CodePage ...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: joe on August 15, 2005, 01:29:12 PM
Som v polovici cesty. To je sialene: suma hex char, suma dec char -> dec char.
A+B*256+C*256^2+... a to je len uvod.
 :eek:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 15, 2005, 04:07:49 PM
Pani, neviem ako vam, ale mne z toho uz j..e.    :eek:

>Master&Joe
Myslim, ze ste este daleko, ale drzim palce. Mna dostalo, ze aj ta zaverecna sprava pri spravnom SN je kodovana cez tabulku... (teda aspon to tak zatial vyzera) A ako by toho nebolo dost, este ani netusim, odkial sa berie to cislo, s ktorym sa potom zacinnaju tie "rotacne manevre" (SHR,SHL,ADD a pod.)

Fakt som spravne na Newbie threade?  :confused:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 15, 2005, 04:33:02 PM
tohle opravdu neni pro zacatecniky! llamellik trosku ulitl :D
az bude cas sepisu sve momentalni poznatky a hodim to sem ...

... to cislo se tam bere s toho HTML formulare a generuje ho javascript je ve formatu widechar XXX?ZZZ?YYY

.. "tabulka" je pevna ,xoruje se informaci o procesoru zjednodusene ...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: joe on August 15, 2005, 04:36:50 PM
No mal by som to upresnit, mal som len obednajsiu prestavku.  :)
No nechce sa mi pisat detaily, lebo ma este caka kus cesty  :confused: , tak len v skratke:
Zoberie ASCII kody mena a scita ich, potom dekadicky sucet chape ako znaky. Napr. "joe" je 6Ah+6Fh+65h=106+111+101=318 no a to je 1. cast "pracovneho cisla".
Pre MACHINE CODE je to rovnake. To je 3. cast "pracovneho cisla".
Zo Serial sa tvori podobne prostredna cast, len berie hexa tvar cisla.
Napr. "123" je 31h+32h+33h=96h teda znaky 96

Potom pre
Name: "joe"
Serial: "123"
MACHINE CODE: "2563756841" => 50+53+54+51+55+53+54+56+52+49=527

Z toho je pekne pracovne cislo: 318?96?527
Je to naozaj len uvod, uz len "spravne" vytvorit "pracovne" cislo.

Edit by Z80:
jen poznamka tohle se pocita v javascriptu v HTML formulari... check my post...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 15, 2005, 07:10:48 PM
No joe,ja nemohl zjistit,jak se pocita ty zasrany cisla.Ted uz mi to diky tobe doslo,ale pak sem si nekde vsim,ze z toho masine code se to prevadi pozpatku,prvni dva jsou stejne.Jinak ty decadicky a hexovy poznas z html codu,tam je x.strblablabla(10) nebo (16).
Dale se to na konci musi urcite byty rovnat,a ty byty jsou vzdycky posledni z pocetnich ukonu,tak?e udelat zpetnej algo to bude neco.
Jinak ze se zprava dela z tabulky,to jsem taky zjistil.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 15, 2005, 07:21:26 PM
Quote from: joe

... Zo Serial sa tvori podobne prostredna cast, len berie hexa tvar cisla.
Napr. "123" je 31h+32h+33h=96h teda znaky 96


pro upresneni neberou se zdvojene cisla "112233" takze to bude stale 96 ...

2joe:
pro upresneni to arrArgs je machine code ... z ... ze ? v JS se nejak nevyznam ...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: joe on August 15, 2005, 08:09:07 PM
Je to uz na dobrej ceste. Prosim, este aspon 2 dni. Zacalo ma to bavit.
2 Z!L0G80: Dik za upresnenie. K tomu ako vzniklo MC, by som sa asi ani nedostal (ak najdem riesenie jednoducj\ho by som bral MC ktore by mi komp dal). Tie zdvojene cisla mi tiez usli.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 15, 2005, 08:25:30 PM
neco k generovani machine ID
Code: [Select]

ext:004010B2 Get_Machine_ID  proc near               ; CODE XREF: start+43p
.text:004010B2                 push    offset SystemInfo ; lpSystemInfo
.text:004010B7                 call    GetSystemInfo
.text:004010BC                 mov     eax, 0BAD0BABEh
.text:004010C1                 xor     ebx, ebx
.text:004010C3                 mov     ebx, SystemInfo.dwActiveProcessorMask
.text:004010C9                 add     eax, ebx
.text:004010CB                 rol     eax, 4
.text:004010CE                 mov     ebx, 0DECAFh
.text:004010D3                 add     eax, ebx
.text:004010D5                 rol     eax, 4
.text:004010D8                 mov     ebx, SystemInfo.dwProcessorType
.text:004010DE                 add     eax, ebx
.text:004010E0                 rol     eax, 4
.text:004010E3                 mov     bx, SystemInfo.wProcessorLevel
.text:004010EA                 and     ebx, 0FFFFh
.text:004010F0                 add     eax, ebx
.text:004010F2                 rol     eax, 4
.text:004010F5                 mov     bx, SystemInfo.wProcessorRevision
.text:004010FC                 add     eax, ebx
.text:004010FE                 rol     eax, 4
.text:00401101                 mov     proc_info_n, eax ; v eax cislo ziskane z informaci o procesoru
.text:00401106                 push    eax
.text:00401107                 push    offset aU       ; "%u"
.text:0040110C                 push    offset machine_id ; LPSTR
.text:00401111                 call    wsprintfA       ; prevedem na integer a dostanem machine code
.text:00401116                 add     esp, 0Ch
.text:00401119                 push    208h            ; cchWideChar
.text:0040111E                 push    offset machine_id ; lpMultiByteStr
.text:00401123                 push    offset machine_id_w ; lpWideCharStr
.text:00401128                 call    sub_401078      ; prevedem na widechar pro vypsani v HTML
.text:0040112D                 push    offset tab1     ; ".\b"
.text:00401132                 call    lstrlenA        ; delka od tab1
.text:00401137                 mov     lnght_tab1, eax ; je ... u me 7eh
.text:0040113C                 mov     ecx, eax
.text:0040113E                 mov     eax, proc_info_n
.text:00401143                 xor     edx, edx
.text:00401145                 mov     dx, ax
.text:00401148                 shr     eax, 10h
.text:0040114B                 xor     dx, ax
.text:0040114E                 and     dx, 1FFFh       ; timhle budem xorovat od adresy tab1 odelce .. X
.text:00401153                 lea     eax, tab1       ; ".\b"
.text:00401159                 xor     ebx, ebx
.text:0040115B                 jmp     short loc_401164
.text:0040115D ; ŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚŚ
.text:0040115D
.text:0040115D loc_40115D:                             ; CODE XREF: Get_Machine_ID+B4j
.text:0040115D                 xor     [ebx+eax], dx   ; xorujem tabulku
.text:00401161                 add     ebx, 2
.text:00401164
.text:00401164 loc_401164:                             ; CODE XREF: Get_Machine_ID+A9j
.text:00401164                 cmp     ebx, ecx
.text:00401166                 jb      short loc_40115D
.text:00401168                 retn
.text:00401168 Get_Machine_ID  endp

gdyby neco ptejte se ...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 15, 2005, 09:26:55 PM
Pani, myslim, ze uz to mam...  :D
Keygenerator a tutorial poslem asi az zajtra navecer, nakolko musim sem/tam aj pracovat.  :(

Ale chcem takto verejne podakovat joeovi, za nakopnutie. Bez neho by som to asi nedotiahol do konca...

Finalne hlasenie:

"Thank you for supporting reversing mission.

 Now write a tut how you solved it.

 A keygen would also be nice :)"
Title: Newbie crackME - 2 -> [SOLVED]
Post by: llAmElliK on August 16, 2005, 01:20:07 AM
no sem zvědav - v ka?dým případě to,?e to úplně easy nebylo splnilo svuj účel - vedla se diskuse;)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 16, 2005, 03:33:21 AM
Quote from: llAmElliK
no sem zvědav - v ka?dým případě to,?e to úplně easy nebylo splnilo svuj účel - vedla se diskuse;)

no tyhle  lidi my taky jak novacci neprijdou :D
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 16, 2005, 05:54:59 AM
Quote from: Z!L0G80
neco k generovani machine ID

gdyby neco ptejte se ...


Dik za tenhle postup,ale me taky vyslo 7Eh,myslim ze to tam je strojove.Musim se na to poptat joa.

Edit:Jake jsou opacne funkce SHR a SHL???
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 16, 2005, 07:00:16 AM
Tak na 0040303F az 004030BD je sifrovaci tabulka(podle me teda),ze ktere se xoruje tou zasranou smyskou ten spravny text.Vzdycky vezme dva byty,obrati je a vyxoruje hodnotou CX.Ale jak kurnik udelat ten zpetnej algo??Kdyz neznam u toho xoru spravny CX??? :confused:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 16, 2005, 08:18:54 AM
To Master:
Nezabudaj, ze po tom xorovani tam su tri podmienky, ktore sa MUSIA splnit. Tieto tri podmienky ti krasne ukazu aka hodnota ma byt v CX, aby si tieto podmienky splnil. A ten zbytok je uz brnkacka... Sorry, ze to nie je konkretnejsie, pisem ti to spamati.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 16, 2005, 08:43:54 AM
jo to vim ze to ma byt 28h atd jenze ono se to xoruje z CX ale to se po zadani jineho jmena serialu meni,no vsak pak na icq.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 16, 2005, 09:18:17 AM
To Master:
Ked pridem z prace, skocim na icq a vysvetlim to (na net som sa pripojil len na chvilu zo susedneho kancla). Alebo skus joea, ten by ti mohol poradit - vcera sme to spolu preberali...
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 16, 2005, 09:21:23 AM
P.S. Dobre si pozri, ako vypocita tu hodnotu v CX, s ktorou to potom xoruje... Je to tam krasne vidiet. ( Je to kusok za tym nacvicovanim s rotaciami SHR,SHL...)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Conflict on August 16, 2005, 11:14:39 AM
Musim rict neco k tomuhle crcME. :mad:
Je to peknej HUMUS a budu ho bojkotovat na vsech frontach. :D
Je to hnus prvniho kalibru. :)
Takze si ho uzijte :p
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Conflict on August 16, 2005, 12:59:31 PM
Potrebuju pomoci s timhle:

SEX and FFFFh = BD6h

cemu se rovna SEX?
je to zivotne dulezity.... to zrovna neni ale chcu to vedet :D
Title: Newbie crackME - 2 -> [SOLVED]
Post by: joe on August 16, 2005, 01:57:31 PM
Viem ziskat serial, ale este to na keygen nestaci. Zopar veci mi v hlave este kvasi.
Spravne riesenie (jedno z mnohych)
Name: "joe"
Serial: "68765432"
Machine code: "2563756841"

Rozhybal ma az vypis tvorby ID od Z!L0G80, mimochodom:
A XOR B = C
C XOR B = A
Takze sa tu da pouzit patch ako pri VBox:
0040115D     4.   Active    XOR WORD PTR DS:[EBX+EAX],DX      NOP
00401235     4.   Active    XOR WORD PTR DS:[EDX+EAX],CX      NOP
A zoberie uz asi vsetko  :)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 16, 2005, 02:08:16 PM
Ty kravo ty kravo ty kravo.
Uz jsem prisel na to jaky ma byt EBX  :D Upravil sem ho sice z registru tesne pred kontrolou,ale funguje to  :) Tak ted uz jen udelat cely zpetny algo.

Za to jak ziskat EBX vdecim Conflictovi  ;) Diky bracho.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 16, 2005, 02:53:51 PM
tak dalsi drobnosti ...

aby sme splnily podminku
Code: [Select]

  lea     eax, dword ptr ds:[403072]
  cmp     byte ptr ds:[eax], 28
  jnz     short
  cmp     byte ptr ds:[eax+5], 12
  jnz     short
  cmp     byte ptr ds:[eax+A], 1
  jnz     short

musi se tabulka uvest do puvodniho stavu tj. cx se musi rovnat stejne hodnote jak u xorovani u get_machine_ID tj. cx = dx ...
pak uz je to brnkacka ;)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: llAmElliK on August 16, 2005, 02:54:52 PM
No musím uznat,?e se činíte - fakt dobrý:) - jen malý upozornění, mů?e se stát ?e při určtiý kombinaci MC a jmena Vám vyjde KEY na example 500 znaků - tak se nelekněte:)
Prvnímu ře?iteli (stačí funkční KEY) uvolníme přístupy na foru (stahování attachmentů ap).
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 16, 2005, 03:42:29 PM
To s tym KEYom sa zrejme stalo prave mne. (To mam ale stastia...)
Do formulara mozem vpisat len 18 znakov pre KEY. Mne vychadza 50 znakovy... Je mozne ze pre niektore kombinacie MC a mena nebude mozne program korektne spustit? (Mam na mysli bez tej spravy "Error ...")
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 16, 2005, 04:23:24 PM
Tak hotovo :)
Jmeno: Master
MC: 2563742761
Serial: wzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzwzF

Enjoy  :D  
Tutor a mozna i keygen zitra nebo behem nekolika dni :)

Zda se mi,ze ten key se nejak blbe zobrazuje,tak kdo by to zkousel,tak tam nesmi byt zadna mezera.
Title: Newbie crackME - 2 -> [SOLVED]
Post by: joe on August 16, 2005, 04:40:25 PM
Zostrucnim to:
1.) BP na 0040115Dh
2.) zaznacit hodnotu reg DX (u mna je to 0BE6h, neviem este ci je to vsade rovnake)
3.) zrusit BP
4.) BP na 0040121Bh
5.) zadat meno, ja som dal: joe
6.) zapisat EDX, u mna: 318h
7.) zapisat ECX, u mna : 725h
8.) 0BE6h-(318h+725h)=1A9h  to musi vzniknut zo serial
9.) to vytvorim napr. suctom "25637567" lebo 32h+35h+36h+33h+37h+35h+36h+37h

Je to funkcne pre:
Name: joe
Serial: 25637567
Machine code:2563756841
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 16, 2005, 05:38:22 PM
Tak a uz mam toho dost...

Tu je jedno zo spravnych rieseni pre moje meno:
Name: "CZerezpiCZ"
Serial:"zyxwvzyxwvX"
Machine code: "2563730505"

Najskor som si myslel, ze vytvorim aj keygen, ale  ako vidim, tak to nepojde.  :mad:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 18, 2005, 11:15:14 AM
Tak tady je tou?ebne ocekavany tutorial na tuhle mrchu  :D
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Z!L0G80 on August 18, 2005, 01:06:38 PM
Quote from: Master
Tak tady je tou?ebne ocekavany tutorial na tuhle mrchu  :D

Quote
... Odpoved zjistime v přimem nahledu exe souboru.Jeslit mate totalcmd tak si dejte exe soubor zobrazit a scrolujte dolu a uvidite html a java kod,ten kdo v techto jazycich programuje,nema problem,ja ho bohuzel mam :)

vytahni si to resource hackerem ;)
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on August 18, 2005, 02:03:45 PM
taky moznost,ja to delal takhle :),ale jinak solidni tutor ne :confused:  :rolleyes:
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on August 18, 2005, 04:17:49 PM
No konecne som dopisal aj popis k tomuto CME.  :rolleyes: Tak teda tu ho mate:
Title: Opravdu to neni nejlehci
Post by: NeptuN on September 07, 2005, 08:34:21 PM
Taky jsem to zkousel, je to kapku tezsi. pochopil jsem, ze to ma byt na tom druhem okne napsane neco jako "skvela prace" (?) nebo tak, ale zatim se mi podarila jen zmet pismen. Jak to rozxorovat, tak to nevim, bude to vyzadovat asi vice casu ... :(
Title: Newbie crackME - 2 -> [SOLVED]
Post by: Master on September 08, 2005, 07:16:19 AM
o tom je tahle skolka ;) Aby ses naucil hledat kod a algoritmy.A ne jen zmenil jne a je.To je pomalu ta nejhorsi vec :) Reknu ti,na to,?e tohle bylo 2 cme,tak admiin trochus tou obtiznosti ujel  :D a v?ichni sme nadavali a prvni ře?itel byl asi a? po necelem tydnu a to díky tomu,?e sme sdíleli poznatky.Tak?e si je tady pročítej postupne od začatku a treba se pak pokus to sam rozresit,nepodari li se,tak zase kousek poznaktu.A casem prijdes na to co potrebujes.Kdyztak se ozvi na icq 305996813
Title: Newbie crackME - 2 -> [SOLVED]
Post by: CZerezpiCZkin on September 08, 2005, 03:45:04 PM
To rad vidim, ze si si dal povedat a snazis sa riesit CME tak ako sa ma... :) Suhlasim s Masterom, ze toto bolo v celku tazke CME na Newbie Thread. Tiez by sme to len tazko riesili sami, bez vzajomnej spoluprace na ICQ. Skus to tiez...   Good luck!