Blog literacki, portal erotyczny - seks i humor nie z tej ziemi


____________________________________________________________________________________
_________\ | __________
/ \ __-+- __ | /\
/___________/ /'( |_ )`\ |________/ \
| \ / / . \/^\/ . \ / /
\ \ / _)_`-'_(_ \ / /
\ \ /.-~ ).( ~-.\ / /
\ \ /' /\_/\ `\ / /
\ / __ ___ " __" __ _ _ \/ /
\/ / _)( ,) ( ) / _)( ) ) \__/_
( (_ ) \ /()\( (_ ) \
\__)(_)\_)(_)(_)\__)(_)\_)
___ __
( ,\o l a n d ( )
) _/ cRACKING )(__
(_) gROUP (____)
____ /\
/ \ / \
/\ \ / /
\ \ / /
\___\___/
_______________________________________________________________________________________

CrackPl prezentuje:
Tutorial #1 by Mr.T
na jezyk polski przetlumaczyl Janio
_______________________________________________________________________________________

Witam w moim pierwszym crackerskim tutorialu, mam nadzieje,
ze pomoge wam wszystko zrozumiec :)

Wybaczcie prosze, moj czysty angielski...


--­­­ TEN TUTORIAL ZOSTAL NAPISANY TYLKO DLA CELOW EDUKACYJNYCH. !!! -----


POTPRZEBNE NARZEDZIA:

W32DASM 8.9 - ja uzywam tej wersji
HEX WORKSHOP - ja uzywam wersji 2.50
DUZY MOZG :D
___________________________________________________________________________________________


__MALA POMOC__

DLA W32DASM :
____________________
GOTO CODE LOCATION : Gdy zechcesz sie dostac do pewnego fragmentu kodu, mozesz uzyc
~~~~~~~~~~~~~~~~~~~~ tego przycisku, to jest 8 przycisk od lewej strony.
Jest na nim napis: Goto CD loc
_________
JUMP TO : Kiedy zobaczysz: jump / je / jne / jle etc... uzyj tego przycisku do skoku
~~~~~~~~~ pod ten adres. Przycisk znajduje sie na prawo od Goto CD loc.
Jest na nim napis: Jump To.
__________
RET JUMP : Uzyj tego przycisku, zeby powrocic z poprzedniego skoku.
~~~~~~~~~~
______________
EXECUTE CALL : Po zobaczeniu: call *** uzyj tego przycisku, do przeniesienia sie pod
~~~~~~~~~~~~~~ ten adres. Przycisk znajduje sie po prawo od Jump To. Jest na nim napis: Call.
_____
RET : Uzyj tego przycisku do powrotu z ostatniego wywolania call.
~~~~~
____________________________
IMPORTED MODULES/FUNCTIONS : Kiedy chcesz zobaczyc jakie funkcje program importuje
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ z Kernela lub innego miejsca Windowsa kliknij na tym przycisku,
jest on 8-my od prawej strony. Jest na nim napis: Imp Fn.

_______________________
STRING DATA REFERENCE : Gdy chcesz poszukac komunikatu o bledzie lub innych komunikatow,
~~~~~~~~~~~~~~~~~~~~~~~ mozesz uzyc tego przycisku. Znajduje sie na drugiej pozycji,
liczac od prawej strony. Jest na nim napis: Strn REF.

Errrrr.... Mysle, ze to wszystko o W32DASM.


DLA HEX-WORKSHOP :
____
F5 : Sluzy do przejscia pod podany offset, jezeli jestes pewien ze offset jest podany
~~~~ w notacji hexadecymalnej, to kliknij Hex i wpisz go bez "h" na koncu.

Errrrr.... Mysle, ze to wszystko o HEX-WORKSHOP, ja go uzywam.


___LAST WORDS:___

Ta czesc jest wzieta z TKCT's TUTORIAL #1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Oto niektore glowne funkcje pomocne w crackingu:

Hex: Asm: Means
75 or 0F85 jne skok jesli nie rowny
74 or 0F84 je skok jesli rowny
EB jmp skok bezposrednio do
90 nop nie pracuje
77 or 0F87 ja skok jesli wyzszy
0F86 jna skok jesli nie wyzszy
0F83 jae skok jesli wyzszy lub rowny
0F82 jnae skok jesli nie wyzszy lub rowny
0F82 jb skok jesli nizszy
0F83 jnb skok jesli nie nizszy
0F86 jbe skok jesli nizszy lub rowny
0F87 jnbe skok jesli nie nizszy lub rowny
0F8F jg skok jesli wiekszy
0F8E jng skok jesli nie wiekszy
0F8D jge skok jesli wiekszy lub rowny
0F8C jnge skok jesli nie wiekszy lub rowny
0F8C jl skok jesli mniejszy
0F8D jnl skok jesli nie mniejszy
0F8E jle sko jesli mniejszy lub rowny
0F8F jnle skok jesli nie mniejszy lub rowny

[ Mr.T ]
__________________________________________________________________________________________


2 / HOW TO CRACK UNREAL 2.02 ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

UNREAL jest swietna Quakeowata gra (ale potrzebuje bardzo szybkiego PC :-( )
i my zcrackujemy CD-check by grac bez CD ;)

Coz... Uruchom UNREAL bez CD i co sie dzieje? HARGH !!! :
"Please insert the Unreal CD-ROM into your drive and press...", to w komunikacie!

Pojawia sie niewielka trudnosc w zcrackowaniu Unreal, poniewaz komunikat bledu nie znajduje
sie w pliku UNREAL.EXE ( nononono !!! ), nie szukaj go tam, on jest w WINDOW.DLL. (huhu)
Wiec zrob kopie WINDOW.DLL jako COPY.DLL, otworz COPY.DLL z W32DASM i otworz
WINDOW.DLL z Hex-Workshop, Wszystko w porzadku? Lecimy...

Teraz jestes w COPY.DLL z W32DASM, powinienes poszukac komunikatu bledu, gdy nie ma
plyty w czytniku. Kliknij na przycisku String Data Reference i poszukaj komunikatu.
Po podwojnym kliknieciu na nim powinienes ujrzec:

* Reference To: Core.?appFSize@@YAHPBD@Z, Ord:0311h
|
:10B1C4AA FF15E4B6B310 Call dword ptr [10B3B6E4]
:10B1C4B0 83C404 add esp, 00000004
:10B1C4B3 85C0 test eax, eax
:10B1C4B5 7F31 jg 10B1C4E8 <-- Hmmmm.... INTERESUJACE !
:10B1C4B7 6801200000 push 00002001

* Possible StringData Ref from Data Obj ->"Cd Required At Startup"
|
:10B1C4BC 68089DB310 push 10B39D08

* Possible StringData Ref from Data Obj ->"Please insert the Unreal CD-Rom "
->"into your drive and press OK to "
->"continue, or Cancel to exit."
|
:10B1C4C1 68989CB310 push 10B39C98 <-- JESTESMY TUTAJ !!!
:10B1C4C6 6A00 push 00000000

* Reference To: USER32.MessageBoxA, Ord:0195h <-- POKAZYWANIE KOMUNIKATU O BLEDZIE
|
:10B1C4C8 FF1568B9B310 Call dword ptr [10B3B968]
:10B1C4CE 83F802 cmp eax, 00000002
:10B1C4D1 75BB jne 10B1C48E <-- OK. SKOK DO POCZATKU
:10B1C4D3 A170B7B310 mov eax, dword ptr [10B3B770]
:10B1C4D8 6A00 push 00000000
:10B1C4DA C70001000000 mov dword ptr [eax], 00000001

* Reference To: KERNEL32.ExitProcess, Ord:006Bh <-- ANULOWANIE. TUTAJ JEST WYJSCIE.
|
:10B1C4E0 FF1590B8B310 Call dword ptr [10B3B890]
:10B1C4E6 EBA6 jmp 10B1C48E


Nie ma zadnego problemu, jestesmy pod adresem 10B1C4C1, idzmy w gore az napotkamy jakis
call lub jump. I co my widzimy pod 10B1C4B5?

:10B1C4B5 7F31 jg 10B1C4E8

Huhuhu... kliknij na przycisku "Jump To", yeah ! Jestesmy w miejscu gdzie rozpoczyna
sie dzialanie programu po wlozeniu plyty CD, nalezy tak zrobic azeby zawsze tutaj trafiac.
Zanotuj sobie Offset tego skoku. Wynosi 1B8B5.

Jedyna rzecza jaka musisz zrobic, to zmienic skok. Zmieniasz "jg 10B1C4E8" na "jump 10B1C4E8".

Przejdz do Hex-Workshop z WINDOW.DLL, wcisnij F5, wpisz 1B8B5.
Zmien "7F 31" na "EB 31"

jg oznacza w assemblerze skok warunkowy.
EB w notacji hexadecymalnej to jump w assemblerze.

Zapisz WINDOW.DLL, uruchom UNREAL, WOW !!! Chodzi bez CD !!! KEWL !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mozesz zcrackowac w ten sposob wszystkie wersje UNREAL, jedynie moga pozmieniac sie adresy.

That's all folks
___________________________________________________________________________________________


3 / HOW TO CRACK AGE OF EMPIRES 1.0 ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AGE OF EMPIRES to calkiem dobra gra z Microsoftu, bardzo prosto mozna z niej usunac CD-check.

Uruchom AOE bez CD, huh?? Coz to? Komunikat mowi, ze zapomniales wlozyc CD.
Zanotuj go, tak wyglada: " You must insert a game CD.. "

Ok, zrob kopie empires.exe jako copy.exe (zawsze rob kopie swojej ofiary!!!)
zaladuj empires.exe do W32DASM i zaladuj copy.exe z HEX-WORKSHOP, wszystko OK?
Coz... przechodzimy do W32DASM.

Gdy uruchomimy AOE bez CD, komunikat mowi nam: " You must insert ... ", kliknij na
String Data Reference i poszukaj tego ciagu, co jest? Nie ma! Nie ma problemu,
kliknij na Imported Modules, to jeszcze jedna sztuczka przy crackowaniu Cd-check.
Poszukaj KERNEL32.GETDRIVETYPEA <- to jest szukanie CD, podwojnie kliknij na nim,
teraz W32DSM wysadzil cie w GETDRIVETYPEA w AOE. Co my tutaj mamy:


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004D65EF(C) <-- STAMTAD JEST WYWOLYWANY PONIZSZY KOD
|
:004D65F5 57 push edi

* Reference To: KERNEL32.GetDriveTypeA, Ord:00DEh
|
:004D65F6 FF1554267000 Call dword ptr [00702654] <-- JESTESMY TUTAJ
:004D65FC 83F805 cmp eax, 00000005
:004D65FF 7404 je 004D6605
:004D6601 33C0 xor eax, eax
:004D6603 EB53 jmp 004D6658


Coz... Musimy sie dowiedziec skad ta funkcja jest wywolywana, kliknij na Goto
Code Location i wpisz 4D65EF, co my tutaj mamy:


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004D65D0(C) <-- STAMTAD JEST WYWOLYWANY PONIZSZY KOD
|

* Possible StringData Ref from Data Obj ->"CDPath" <-- Szukanie CD
|
:004D65D9 6884C65500 push 0055C684
:004D65DE 8B8EAC010000 mov ecx, dword ptr [esi+000001AC]
:004D65E4 6A00 push 00000000
:004D65E6 E8D570FEFF call 004BD6C0
:004D65EB 8BF8 mov edi, eax
:004D65ED 85FF test edi, edi
:004D65EF 7504 jne 004D65F5 <-- TERAZ JESTESMY TUTAJ
:004D65F1 33C0 xor eax, eax
:004D65F3 EB63 jmp 004D6658


Hmmm, czy widzisz to co ja widze? "CDPath", zeby zobaczyc skad jest wywolywany
powyzszy kod szukamy adresu 4D65D0, wymazemy czesc odpowiedzialna za CD-check.
Teraz jestesmy pod adresem 4D65D0 :


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004D657E(C)
|
:004D65C9 A114455600 mov eax, dword ptr [00564514]
:004D65CE 85C0 test eax, eax
:004D65D0 7407 je 004D65D9 <-- JEST TUTAJ!!!
:004D65D2 B801000000 mov eax, 00000001
:004D65D7 EB7F jmp 004D6658


Czy widzisz "je 004D65D9"? To skok warunkowy w asemblerze, chcemy grac w AOE bez CD he?
Nie ma problemu, wymazemy procedure CD-check, teraz musimy zanotowac gdzie znajduje sie
interesujacy nas kawalek kodu, w heksa. Zanim odpalimy Hex-Workshop,
upewnij sie ze zielona linia {w W32Dsm} znajduje sie na ":004D65D0" i spojrzyj na Offset,
podany na pasku stanu W32Dsm. To: D59EFh, przechodzimy do Hex-Workshop.

Teraz jestesmy w Hex-Workshop z zaladowanym Copy.exe, wcisnij F5 i wpisz D59EF
bez "h" na koncu, upewnij sie, ze jest zaznaczona opcja: Hex. Wszystko gra?

Jest zapisane "74 07", zmien to na "90 90".
74 w hexadecymalnym, to skok warunkowy: je.
90 w hexadecymalnym, to w asmie brak operacji: nop.

Skonczylismy? To proste, mamy wymazny skok warunkowy do czesci kodu odpowiedzialnego za CD-Check.

Zapisz COPY.EXE

Uruchom COPY.EXE. WOW!!! Mozesz grac w Age Of Empires bez CD!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mozesz w ten sposob crackowac wszystkie wersje AOE, jedynie moga zmienic to adresy.

That's all folks
___________________________________________________________________________________________


4 / JAK USUNAC OGRANICZENIE W TOTAL SOCCER DEMO 0.98 ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TOTAL SOCCER DEMO 0.98 jest calkiem dobra gra, ale po posiada ograniczenie czasowe.
My mamy sie pozbyc tego zabezpieczenia.

Uruchom Total Soccer, HARGH !!! komunikat o bledzie mowi, ze nasza gierka demo eeerrrrr...
Zanotuj komunikat na kartce. To takie cos:
"Total Soccer version SHAREWARE 0.98 has expired."

Sukinsynstwo.

Coz... Skopiuj SOCCER.EXE jako COPY.EXE, otworz SOCCER.EXE w W32dASM i otworz
COPY.EXE z HEX-WORKSHOP.

Poszukaj tego ciagu w oknie String Data Reference. Musi byc tutaj:


* Referenced by a CALL at Addresses:
|:0043A314 , :00448227
|
:0044773C 83C4F8 add esp, FFFFFFF8
:0044773F 66B90100 mov cx, 0001
:00447743 66BA0200 mov dx, 0002
:00447747 66B8CE07 mov ax, 07CE
:0044774B E830ECFBFF call 00406380
:00447750 DD1C24 fstp qword ptr [esp]
:00447753 9B wait
:00447754 E8F7EDFBFF call 00406550
:00447759 DC1C24 fcomp qword ptr [esp]
:0044775C DFE0 fstsw ax
:0044775E 9E sahf
:0044775F 7225 jb 00447786 <-- HUMMM... INTERESUJACE

* Possible StringData Ref from Code Obj ->"soccer.lic"
|
:00447761 688C774400 push 0044778C

* Reference To: kernel32.DeleteFileA, Ord:0000h
|
:00447766 E8E5CFFBFF Call 00404750
:0044776B 6A00 push 00000000

* Possible StringData Ref from Code Obj ->"Total Soccer"
|
:0044776D B998774400 mov ecx, 00447798

* Possible StringData Ref from Code Obj ->"Total Soccer version SHAREWARE "
->"0.98 has expired."
|
:00447772 BAA8774400 mov edx, 004477A8 <-- JESTESMY TUTAJ
:00447777 A120A64400 mov eax, dword ptr [0044A620]
:0044777C E87FB5FDFF call 00422D00
:00447781 B001 mov al, 01
:00447783 59 pop ecx
:00447784 5A pop edx
:00447785 C3 ret


Jestes teraz pod adresem 447772, przewijaj tekst w gore dotad, az zobaczysz adres 44775F.
A przy nim:

:0044775F 7225 jb 00447786 <-- TO JEST TO !!!!!


Uzyj przycisku "Jump to" zeby skoczyc, teraz widzisz:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0044775F(C)
|
:00447786 33C0 xor eax, eax
:00447788 59 pop ecx
:00447789 5A pop edx
:0044778A C3 ret

To wszystko, program dalej jest wykonywany. To latwy sposob crackowania
takich zabezpieczen. Zmusimy go do skou. Jedyna rzecz jaka musimy zrobic to zamienic
"jb 00447786" na "jump 00447786" przy offsecie "46B5F".

jb w asemblerze to skok warunkowy. Jezeli wyplywajacy z ograniczenia czas
sie nie skonczyl, to nastepuje skok. W przeciwny przypadku ujrzysz "...soccer demo expiration..."

Latwe nie?

Przejdz do Hex-Workshop, wcisnij F5 i wpisz 46B5F, teraz musisz zamienic:
"72 25" na "EB 25"

EB w hexadecymalnym to jump w assemblerze.

Teraz uruchom Total Soccer, WOW!!! Nie ma ograniczenia!!! KEWL !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

That's all folks
___________________________________________________________________________________________


5 / JAK ZCRACKOWAC INCOMING ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Jezeli masz 3dfx, INCOMING jest najlepszy do demonstracji mozliwosci 3dfx.
Usuniecie CD-Check jest bardzo latwe w tej fantastycznej gierce.

Uruchom INCOMING bez CD, HARGH !!!!! co to? Komunikat mowi, ze nie
wlozyles CD do czytnika, sukinsynstwo :(

Czas nauczyc sie reszty tipsow dotyczacych crackowania gier,
zanotuj komunikat, to jest: "INCOMING ERROR REPORT".

Coz, lecimy. Zrob kopie INCOMING.EXE jako COPY.EXE (zawsze rob kopie swojej ofiary),
zaladuj INCOMING.EXE w W32DASM i COPY.EXE w HEX-WORKSHOP.
Wszystko OK? Teraz przejdz do W32DASM.

Kliknij na String Data Reference i poszukaj "Incoming error report".
Teraz widzisz cos takiego:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040143D(U) <-- STAMTAD JEST TO WYWOLYWANE
|
:0043D340 8B4C2404 mov ecx, dword ptr [esp+04]
:0043D344 83EC20 sub esp, 00000020
:0043D347 8D442428 lea eax, dword ptr [esp+28]
:0043D34B 56 push esi
:0043D34C 57 push edi
:0043D34D 50 push eax
:0043D34E 51 push ecx
:0043D34F 68805C5100 push 00515C80
:0043D354 E8B71D0600 call 0049F110
:0043D359 BFD4B54B00 mov edi, 004BB5D4
:0043D35E 83C9FF or ecx, FFFFFFFF
:0043D361 33C0 xor eax, eax
:0043D363 83C40C add esp, 0000000C
:0043D366 F2 repnz
:0043D367 AE scasb
:0043D368 F7D1 not ecx
:0043D36A 2BF9 sub edi, ecx
:0043D36C 68805C5100 push 00515C80
:0043D371 8BF7 mov esi, edi
:0043D373 8BD1 mov edx, ecx
:0043D375 BF805C5100 mov edi, 00515C80
:0043D37A 83C9FF or ecx, FFFFFFFF
:0043D37D F2 repnz
:0043D37E AE scasb
:0043D37F 8BCA mov ecx, edx
:0043D381 4F dec edi
:0043D382 C1E902 shr ecx, 02
:0043D385 F3 repz
:0043D386 A5 movsd
:0043D387 8BCA mov ecx, edx
:0043D389 83E103 and ecx, 00000003
:0043D38C F3 repz
:0043D38D A4 movsb
:0043D38E E8CD0D0600 call 0049E160
:0043D393 83C404 add esp, 00000004
:0043D396 8D442408 lea eax, dword ptr [esp+08]
:0043D39A 50 push eax

* Reference To: KERNEL32.GlobalMemoryStatus, Ord:0161h
|
:0043D39B FF15D896F500 Call dword ptr [00F596D8]
:0043D3A1 E85749FCFF call 00401CFD

* Reference To: USER32.MessageBoxA, Ord:0195h
|
:0043D3A6 8B350898F500 mov esi, dword ptr [00F59808]
:0043D3AC 6A00 push 00000000

* Possible StringData Ref from Data Obj ->"Incoming Error Report."
|
:0043D3AE 68B8B54B00 push 004BB5B8 <-- JESTESMY TUTAJ.
:0043D3B3 68805C5100 push 00515C80
:0043D3B8 6A00 push 00000000
:0043D3BA FFD6 call esi
:0043D3BC 6A00 push 00000000

* Possible StringData Ref from Data Obj ->"Incoming Error Report."
|
:0043D3BE 68B8B54B00 push 004BB5B8
:0043D3C3 68805C5100 push 00515C80
:0043D3C8 6A00 push 00000000
:0043D3CA FFD6 call esi
:0043D3CC 817C242400004006 cmp dword ptr [esp+24], 06400000
:0043D3D4 720A jb 0043D3E0
:0043D3D6 817C241400000800 cmp dword ptr [esp+14], 00080000
:0043D3DE 7310 jnb 0043D3F0


Spojrzyj do gory za adresem spod ktorego ta funkcja jest wywolywana,
znajduje sie ono pod adresem: "40143D". Wpisz ten adres po kliknieciu:
Goto Code Location. Teraz widzisz:

....
|:00499AA4 , :00499B1A , :00499B42 , :00499B7A , :00499DF6
|:00499E84 , :0049A0AE , :0049AC10 , :0049BE0E
|
:0040143D E9FEBE0300 jmp 0043D340


Humm... Rozumiesz? Gdy CD nie jest wlozony, nastepuje przejscie do
INCOMING ERROR REPORT, jak to usunac? To proste, nalezy wymazac
INCOMING ERROR REPORT. Zanotuj Offset skoku, wynosi "83D" i przejdz do
Hex-Workshop. Wcisnij F5 i wpisz 83D zeby przejsc do interesujacego nas kodu.

E9 FE BE 03 00 -to jest skok, wiec go wymaz:
90 90 90 90 90

Zapisz COPY.EXE i uruchom COPY.EXE.

Co teraz? WOW !!! Gra pracuje bez CD !!! KEWL !
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

That's all folks
___________________________________________________________________________________________


6 / JAK ZCRACKOWAC SEGA TOURING CAR CHAMPIONSHIP?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sega Touring Car Championship jest swietna gierka, wyscigi samochodowe.
Jedna z lepszych dla 3dfx.

---YOU MUST DO A COMPLETE INSTALLATION OF THE GAME---

Uruchom STCC.EXE bez CD i co sie dzieje? HARGH!!! Cholerny napis mowi:
" Please insert The SEGA Touring Car Championship CD. "

Coz... Zrob kopie STCC.EXE jako COPY.EXE i zaladuj STCC.EXE z W32DASM, oraz COPY.EXE
z HEX-WORKSHOP. Przejdz do W32DASM i kliknij na przycisku String Data Reference.
Poszukaj komunikatu o bledzie.

Teraz widzisz:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00438675(C) <-- PONIZSZY KOD JEST WYWOLYWANY STAMTAD <-------------------|
| |
:0043864F 6A35 push 00000035 |
|
* Possible StringData Ref from Data Obj ->"SEGA Touring Car Championship " |
->"for PC" |
| |
:00438651 68947F4B00 push 004B7F94 |
|
* Possible StringData Ref from Data Obj ->"Please insert The SEGA Touring " |
->"Car Championship CD." |
| |
:00438656 68607F4B00 push 004B7F60 <-- JESTESMY TUTAJ |
:0043865B E880FDFFFF call 004383E0 |
:00438660 83C40C add esp, 0000000C |
:00438663 83F802 cmp eax, 00000002 |
:00438666 7415 je 0043867D |
:00438668 E893FEFFFF call 00438500 |
:0043866D 83F8FF cmp eax, FFFFFFFF |
:00438670 A338735600 mov dword ptr [00567338], eax |
:00438675 74D8 je 0043864F <-- HO! CHOLERA <------------|


Hum.... kliknij na przycisku " Goto Code Location " i wpisz 438675, CHOLERA !

Poszukamy procedury CD-Check, kliknij na przycisku: "Imported Modules and
Funtions", poszukaj KERNEL32.GETDRIVE TYPEA, teraz widzisz:


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00438603(C) <-- STAMTAD JEST WYWOLYWANY PONIZSZY KOD
|
:00438526 B801000000 mov eax, 00000001
:0043852B 8BCE mov ecx, esi

...BLABLABLA...

* Reference To: KERNEL32.GetDriveTypeA, Ord:00DFh
|
:0043855D FF15B4981401 Call dword ptr [011498B4] <-- JESTESMY TUTAJ!
:00438563 83F805 cmp eax, 00000005
:00438566 0F858F000000 jne 004385FB
:0043856C 8DBC2418010000 lea edi, dword ptr [esp+00000118]
:00438573 83C9FF or ecx, FFFFFFFF
:00438576 33C0 xor eax, eax
:00438578 8D542418 lea edx, dword ptr [esp+18]
:0043857C F2 repnz
:0043857D AE scasb
:0043857E F7D1 not ecx
:00438580 2BF9 sub edi, ecx

* Possible StringData Ref from Data Obj ->"stcc\stcc.exe"
|
:00438582 68907E4B00 push 004B7E90
:00438587 8BC1 mov eax, ecx
:00438589 8BF7 mov esi, edi


To jest procedura CD-check, poszukajmy skad jest wywolywana,
Dlaczego? Poniewaz usuniemy czesc odpowiedzialna za CD-Check :D

Kliknij na: "Goto Code Location" i wpisz 438603, teraz widzisz:


* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00438535(C), :00438566(C)
|
:004385FB 46 inc esi
:004385FC 83FE20 cmp esi, 00000020
:004385FF 89742410 mov dword ptr [esp+10], esi
:00438603 0F8C1DFFFFFF jl 00438526 <-- JESTESMY TUTAJ!!!
:00438609 EB0B jmp 00438616

Teraz to juz bardzo latwe ;). Spojrzyj na Offset i przejdz do Hex-Workshop.
Wpisz odczytany wczesniej Offset, normalnie powinien wynosic 37A03, teraz zmien:

0F 8C 1D FF FF FF na
90 90 90 90 90 90

Zapisz COPY.EXE, uruchom COPY.EXE, WOW !!! Chodzi bez CD !!! KEWL !!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mozesz tak zcrackowac wszystkie wersje SEGA TOURING CAR CHAMPIONSHIP,
moga jedynie zmieniac sie adresy.

That's all folks
___________________________________________________________________________________________

If it's a bad protection, it's a bad program...
TUTORIAL #1 by Mr.T
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • qualintaka.pev.pl
  •