View Single Post
  #64  
Old 20-01-2010, 11:30
Cowsheep Cowsheep is offline
Registered User
 
Join Date: Oct 2009
Location: Near OEP;)
Posts: 352
Thanks: 0
Thanked 13 Times in 4 Posts
Cowsheep is on a distinguished road
My thief came 8 years ago on the cover cd of a gaming magazine.
Your exe is new to me.

What i did:
Patches, item 0
Address=004156BC
Size= 5.
State=Active
Old=CALL Thief.0050EC90
New=MOV EAX,1
(That call is also patched in tutorial for v1.14 by r!sc that i read afterwards.)

Code:
004156B9   |.  83C4 08                  ADD ESP,8
004156BC       B8 01000000              MOV EAX,1
004156C1   |.  85C0                     TEST EAX,EAX
004156C3   |.  75 0B                    JNZ SHORT Thief.004156D0
004156C5   |.  50                       PUSH EAX
004156C6   |.  6A 01                    PUSH 1
004156C8   |.  E8 138E1100              CALL Thief.0052E4E0
004156CD   |.  83C4 08                  ADD ESP,8
004156D0   |>  E8 EB020000              CALL Thief.004159C0
004156D5   |.  8D5424 40                LEA EDX,DWORD PTR SS:[ESP+40]
004156D9   |.  C74424 40 03000000       MOV DWORD PTR SS:[ESP+40],3
CALL Thief.0050EC90 calls disc check, failed disc check means eax = 0, jnz not taken,
CALL Thief.0052E4E0 leads to function that terminates process.

Thief1.rar

Patched this exe, too.
Please post your gamepath so i can fix install.cfg for you.
Your crash happens always when the fonts are loaded.


@Tippex: Disc check is still present.
Patches, item 1
Address=0050ECA3
Size= 2.
State=Active
Old=JNZ SHORT Thief.0050ECAC
New=NOP


Code:
0050EC90    $  6A 00                    PUSH 0
0050EC92    .  6A 00                    PUSH 0
0050EC94    .  68 08F96000              PUSH Thief.0060F908                                ;  ASCII "test_copy_protect"
0050EC99    .  E8 42B70300              CALL Thief.0054A3E0
0050EC9E    .  83C4 0C                  ADD ESP,0C
0050ECA1    .  84C0                     TEST AL,AL
0050ECA3       90                       NOP
0050ECA4       90                       NOP
0050ECA5    .  B8 01000000              MOV EAX,1
0050ECAA    .  EB 21                    JMP SHORT Thief.0050ECCD
0050ECAC    >  6A 00                    PUSH 0
0050ECAE    .  6A 00                    PUSH 0
0050ECB0    .  68 1CF96000              PUSH Thief.0060F91C                                ;  ASCII "only_check_path"
0050ECB5    .  E8 26B70300              CALL Thief.0054A3E0
0050ECBA    .  83C4 0C                  ADD ESP,0C
0050ECBD    .  84C0                     TEST AL,AL
0050ECBF    .  75 07                    JNZ SHORT Thief.0050ECC8
0050ECC1    .  E8 CAFEFFFF              CALL Thief.0050EB90
0050ECC6    .  EB 05                    JMP SHORT Thief.0050ECCD
0050ECC8    >  E8 13FFFFFF              CALL Thief.0050EBE0
0050ECCD    >  85C0                     TEST EAX,EAX
0050ECCF    .  74 05                    JE SHORT Thief.0050ECD6
0050ECD1    .^ E9 6AFBFFFF              JMP Thief.0050E840
0050ECD6    >  33C0                     XOR EAX,EAX
0050ECD8    .  C3                       RETN
Test_copy_protect is inactive by default, only_check_path is active.
First, it pushes cd_path from install.cfg on stack (like C:\programs\Thief), checks if files are present, then it pushes a second patch on stack (C:\ is replaced with the first letter that returned 5 in eax for getdrivetypea), now it looks for the files on Y:\programs\Thief. C:... is the data_path, Y:... check_path. If files not there bad boy msg called. It never touches my second drive Z:

Last edited by Cowsheep; 20-01-2010 at 11:49.
Reply With Quote