Crack Font Creator(u) 3

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Petery_Cz
Datum: 17.4.2004
Hodnocení/Hlasovalo: 1.33/3

Cíl:Font Creator 3 Nástroje:W32DSM 8.93 Obtížnost:2/10

Cíl:Font Creator 3
Nástroje:W32DSM 8.93
Obtížnost:2/10


Spustíme Font Creator 3 (FC3) a vidíme tabulku a tlačítko register.Samozřejmě klepneme na register.

Zadáme "Name","Company", a samozřejmě
serial,já jsem zadal Name:Petery,
Company:Soom, Serial:samé jedničky.
Klepneme na Register a ouha "Registration failed:invalid password",tak to ne,to se mi nelíbí.Vypneme FC3 a spustíme W32DSM.Disassemblujem Fcp3.exe.Po disassemblaci klepneme na string data references a najdeme string "Registration failed:invalid password",dokonce je celý:-),tak klepnem 2x a ocitneme se na jiném místě v kódu.Zkusíme klepnout ještě jednou a nic:-),tím to mame jednoduší,tak taky se ocitneme po zadání špatného s/n. Zavřeme okno se stringi a podiváme se do kódu.

Tak a vidíme toto,když se posunem o pár řádků výš. |:004F5FEB(C)
|
:004F603A 6A00 push 00000000
:004F603C 668B0DB4604F00 mov cx, word ptr [004F60B4]
:004F6043 B201 mov dl, 01

* Possible StringData Ref from Code Obj ->"Registration failed: Invalid Password"
|
:004F6045 B8F8604F00 mov eax, 004F60F8
:004F604A E8F146F6FF call 0045A740
:004F604F C7833402000002000000 mov dword ptr [ebx+00000234], 00000002

Listujeme a vidíme že program skáče podmíněně,to je že je tam buď jne nebo je.Jne znamená skoč pokud se nerovná,a je znamená skoč,jestliže se rovná.Tak klepneme na Goto cd loc.a zadáme adresu odkud program skočil,to je 004f5feb a vidíme: * Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F5FAC(C)
|
:004F5FB3 42 inc edx
:004F5FB4 8A4410FF mov al, byte ptr [eax+edx-01]
:004F5FB8 50 push eax
:004F5FB9 8D55E0 lea edx, dword ptr [ebp-20]
:004F5FBC 8B83E0020000 mov eax, dword ptr [ebx+000002E0]
:004F5FC2 E8C5EDF3FF call 00434D8C >toto nás zajímá
:004F5FC7 8B45E0 mov eax, dword ptr [ebp-20]
:004F5FCA 8D4DE8 lea ecx, dword ptr [ebp-18]
:004F5FCD 5A pop edx
:004F5FCE E88DF7FFFF call 004F5760 >toto nás zajímá
:004F5FD3 8B45E8 mov eax, dword ptr [ebp-18]
:004F5FD6 50 push eax
:004F5FD7 8D55DC lea edx, dword ptr [ebp-24]
:004F5FDA 8B45FC mov eax, dword ptr [ebp-04]
:004F5FDD E88A2BF1FF call 00408B6C >toto nás zajímá
:004F5FE2 8B55DC mov edx, dword ptr [ebp-24]
:004F5FE5 58 pop eax
:004F5FE6 E879E1F0FF call 00404164 >to nás zajímá
:004F5FEB 754D jne 004F603A toto je náš skok jestliže je špatně,ať vás nenapadne změnit jne na je,to fungovat nebude skoro nikdy,ale jestli chcete tak si to zkuste
:004F5FED 8D55D8 lea edx, dword ptr [ebp-28]
:004F5FF0 8B83F0020000 mov eax, dword ptr [ebx+000002F0]
:004F5FF6 E891EDF3FF call 00434D8C
:004F5FFB 8B45D8 mov eax, dword ptr [ebp-28]
:004F5FFE 50 push eax
:004F5FFF 8D55D4 lea edx, dword ptr [ebp-2C]
:004F6002 8B83E0020000 mov eax, dword ptr [ebx+000002E0]
:004F6008 E87FEDF3FF call 00434D8C
:004F600D 8B45D4 mov eax, dword ptr [ebp-2C]
:004F6010 8B4DFC mov ecx, dword ptr [ebp-04]
:004F6013 5A pop edx
:004F6014 E833FDFFFF call 004F5D4C
:004F6019 6A00 push 00000000
:004F601B 668B0DB4604F00 mov cx, word ptr [004F60B4]
:004F6022 B202 mov dl, 02

* Possible StringData Ref from Code Obj ->"Thank you for registering Font "
->"Creator Program."
|
:004F6024 B8C0604F00 mov eax, 004F60C0
:004F6029 E81247F6FF call 0045A740
:004F602E C7833402000001000000 mov dword ptr [ebx+00000234], 00000001
:004F6038 EB1F jmp 004F6059

Vidíme zde několik volání a v jednom znich se určitě generuje s/n.tak se podíváme:(najedeme na řádek a klepneme na Call.

call 00434D8C: >

* Referenced by a CALL at Addresses:
|:0042A7C7 , :0042A80A , :0042A860 , :0042A873 , :0042A8A3
|:0042A8B6 , :0042A92F , :0042AA4A , :0042AF2C , :0042B1B9
|:0042BC0F , :0042BC5B , :0042C23C , :0042D767 , :0042DA5B
|:0042DD2B , :00433DD3 , :00434B9E , :00434DDA , :004368F8
|:00436908 , :00436B00 , :0043C275 , :0043C351 , :0043C375
|:0043EF5B , :0045759A , :004577BC , :004623F3 , :004625A2
|:0046275C , :0046D08A , :0046D10E , :0048F5A8 , :0048FB2F
|:004900DF , :004902C8 , :004903A8 , :004A341B , :004A4DB7
|:004A80AC , :004A8203 , :004A8233 , :004A8484 , :004A8502
|:004A85A6 , :004A865F , :004A866A , :004A86B6 , :004A873E
|:004A8761 , :004A89EF , :004A89FF , :004A8AC3 , :004A8C05
|:004A8C10 , :004A8C55 , :004A8C78 , :004ADFBA , :004AE052
|:004AE12B , :004AE155 , :004AEAE8 , :004B1696 , :004B1737
|:004B17B3 , :004B1833 , :004B18B7 , :004B1951 , :004B199D
|:004B19E9 , :004B1A35 , :004B1A81 , :004B1ACD , :004B1B19
|:004B1B65 , :004B1BB1 , :004B1BFD , :004B4116 , :004B41B7
|:004B4243 , :004B4BBA , :004B4BFA , :004B4C3E , :004B4C82
|:004B4CC6 , :004B4D0A , :004B4D4E , :004B4D92 , :004BEA1D
|:004C3631 , :004DE02E , :004DF387 , :004E6596 , :004E69BA
|:004E6AC8 , :004E6AEC , :004EA9FE , :004EC0FF , :004F169D
|:004F1A9A , :004F1B00 , :004F1B21 , :004F1B8D , :004F1C2B
|:004F1D10 , :004F2978 , :004F2988 , :004F29A7 , :004F29C3
|:004F2FE8 , :004F3004 , :004F30E0 , :004F35D7 , :004F37EC
|:004F399F , :004F39F6 , :004F3A7E , :004F5F4A , :004F5F5B
|:004F5F6C , :004F5F7D , :004F5F9B , :004F5FC2 , :004F5FF6
|:004F6008 , :004F614D , :004F615E , :004F616F , :004F6180
|:004F619E , :004F61D6 , :004F6204 , :004F6232 , :004F6260
|:004F675D , :004F677F , :004F7787 , :004F78AD , :004FB9B5
|:004FB9CD , :004FB9E9 , :004FC631 , :004FECA3 , :004FF1CB
|:004FF222 , :004FF2AA , :0050084E , :00507A10 , :00507A3D
|:00507A58 , :00507A73 , :0050B34D , :0050B903 , :0050B95A
|:0050B9E2 , :0050BD63 , :005200E9 , :00523451 , :005234FF
|:005235CE , :00523E41 , :00524250 , :00524265
|
:00434D8C 53 push ebx
:00434D8D 56 push esi
:00434D8E 57 push edi
:00434D8F 8BFA mov edi, edx
:00434D91 8BF0 mov esi, eax
:00434D93 8BC6 mov eax, esi
:00434D95 E866FFFFFF call 00434D00
:00434D9A 8BD8 mov ebx, eax
:00434D9C 8BC7 mov eax, edi
:00434D9E 8BCB mov ecx, ebx
:00434DA0 33D2 xor edx, edx
:00434DA2 E815F1FCFF call 00403EBC
:00434DA7 85DB test ebx, ebx
:00434DA9 740C je 00434DB7
:00434DAB 8D4B01 lea ecx, dword ptr [ebx+01]
:00434DAE 8B17 mov edx, dword ptr [edi]
:00434DB0 8BC6 mov eax, esi
:00434DB2 E859FFFFFF call 00434D10

No jéje,tu na to odkazuje moc věcí,ale tu se negeneruje nic.Tak zpět,klepneme na Ret,najedeme a podíváme se na

call 004F5760: >

* Referenced by a CALL at Addresses:
|:004F5C63 , :004F5FCE
|
:004F5760 55 push ebp
:004F5761 8BEC mov ebp, esp
:004F5763 51 push ecx
:004F5764 B907000000 mov ecx, 00000007

hmm,tak nic,zpět.
Teď call 00408B6C: >

* Referenced by a CALL at Addresses:
|:00446274 , :004463B1 , :0048CA4C , :0048CA5B , :0048CA8C
|:0048CA9B , :004AE17C , :004AE1C2 , :004D9609 , :004D962D
|:004D97D9 , :004D97FD , :004D9844 , :004D9868 , :004D9894
|:004D98A3 , :004F57B4 , :004F5C89 , :004F5FDD , :0050E3B7
|:0050E3DB , :0051BDD3 , :0051BDF5 , :0051BE16 , :0051BE2B
|
:00408B6C 53 push ebx
:00408B6D 56 push esi
:00408B6E 57 push edi
:00408B6F 8BFA mov edi, edx
:00408B71 8BF0 mov esi, eax
:00408B73 8BC6 mov eax, esi
:00408B75 E8DAB4FFFF call 00404054
:00408B7A 8BD8 mov ebx, eax
:00408B7C 8BC7 mov eax, edi
:00408B7E 8BD3 mov edx, ebx
:00408B80 E803B8FFFF call 00404388
:00408B85 8BD6 mov edx, esi
:00408B87 8B37 mov esi, dword ptr [edi]
:00408B89 85DB test ebx, ebx
:00408B8B 7415 je 00408BA2

zase nic,tak deme dál call 00404164: >

* Referenced by a CALL at Addresses:
|:00411E87 , :00416D67 , :004181AF , :0041D81D , :0041D8B5
|:0041EAB0 , :004238E7 , :00423905 , :00424538 , :0042BC66
|:00433DEE , :00433E79 , :00434BA9 , :00434DE4 , :00436913
|:0043FB93 , :0044017D , :004402ED , :00440461 , :00443521
|:00443947 , :00443A06 , :00443E22 , :00444073 , :004448F3
|:00445301 , :004454B7 , :00446085 , :0044623C , :00446617
|:00452E41 , :00453A53 , :004649E4 , :00464AEC , :00465B17
|:004667DC , :0046855B , :0046D040 , :0046D47D , :00479CBE
|:00479E88 , :0047A0C2 , :00481B64 , :0049C4B2 , :004A3426
|:004A8749 , :004A876C , :004A8C60 , :004A8C83 , :004AE01A
|:004AE1CB , :004AF89D , :004B3ECB , :004BC83F , :004BCC02
|:004D9636 , :004D9696 , :004D9806 , :004D9871 , :004D98AC
|:004E3128 , :004E3259 , :004E73B1 , :004E8479 , :004EEB6D
|:004EEB92 , :004EEC05 , :004EEC2A , :004EF217 , :004EF262
|:004F3156 , :004F41A5 , :004F41C6 , :004F5C95 , :004F5FE6
|:004FCB28 , :0050134E , :00505AAD , :0050E3E4 , :0051240F
|:0051BDFE , :0051BE34
|
:00404164 53 push ebx
:00404165 56 push esi
:00404166 57 push edi
:00404167 89C6 mov esi, eax
:00404169 89D7 mov edi, edx
:0040416B 39D0 cmp eax, edx
:0040416D 0F848F000000 je 00404202
:00404173 85F6 test esi, esi
:00404175 7468 je 004041DF
:00404177 85FF test edi, edi
:00404179 746B je 004041E6
:0040417B 8B46FC mov eax, dword ptr [esi-04]
:0040417E 8B57FC mov edx, dword ptr [edi-04]
:00404181 29D0 sub eax, edx
:00404183 7702 ja 00404187
:00404185 01C2 add edx, eax

no hele,tu už se něco děje.
Tak teď nabídka debug a load proces,odklepneme a hodíme breakpointy na všechen call co jsme teď studovali.
Breakpoint se dává klepnudím buď na nabídku nebo F2.tak označíme a zmačkneme F9,nebo tlačítko Run.
Opět dáme tlačítko Register,vyplníme údaje a klepneme na Register,v tu chvíli se nam program zastavil na Break pointu.
Prohlídneme obsahy registru klepáním na tlačítka EIP.až.ESP a vidíme jejich obsahy,v žádném nic zajimavého.
Zrušíme break point F2 a klepneme znovu na Run nebo F9.zastavíme se o další break point.
Prohlídneme a vidíme že se v jednom registru uchovalo naše jméno.hmmm.tak odznačíme break point a F9 a sekneme se o další.
Prohlídneme a vidíme naše zadané s/n.Přihořívá:-).Odznačíme a jedeme na poslední break point a vidíme že v jednom registru jsou zajimavá čísla a
písmena,že by.okamžitě opíšem a dáme Terminate.Spustíme FC3.
Register Name,Company a s/n,co jsme zjistili a opsali si,a hopla,Registrováno.

Gratuluji,nyní jste si crackli FC3.

Kdyby se náhodou někomu nepovedlo,tak pište na moji adresu petery@volny.cz

Moje s/n.
Name:Petery
Company:Soom
s/n:D5V547KP1HQS