Quote:
Originally posted by Appolyon+Nov 15 2005, 15:27--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Appolyon @ Nov 15 2005, 15:27)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--RagnaBaby@May 25 2005, 06:16
please use search before posting.. it's just way below ur screen.
hope this helps, sometimes unaccesible if i'm offline. gl
|
can you post please the sourcecode or the ideea of what mutex and how you use it? [/b][/quote]
Here's a snippet of disassembly of conquer.exe:
Code:
mov [ebp+var_A0], eax
push offset aEnglish_2; const char *
mov eax, [ebp+var_A0]
push eax ; const char *
call _strcmp
add esp, 8
test eax, eax
jnz short loc_455A3C;
mov [ebp+var_A4], 2
mov [ebp+var_A8], offset aTq_conquer; "TQ_CONQUER"
push 2
mov ecx, [ebp+var_A8]
push ecx
call sub_466780; "the function that checks mutex!"
add esp, 8
mov edx, [ebp+var_F4]
mov [edx+3AC88h], eax
mov eax, [ebp+var_F4]
cmp dword ptr [eax+3AC88h], 0
jnz short loc_455A3C
push 1
mov ecx, [ebp+var_F4]
call sub_4632A2
loc_455A3C: ; CODE XREF: sub_4559A3+4Aj
; sub_4559A3+8Aj
push 0
lea ecx, [ebp+var_8C]
call sub_4231A0
...
The sub_4632A2 exits CO - so one easy fix is to just nop that out. You can also change any of the jnz to an unconditional jump to loc_455a3c to bypass the checks.