пытаюсь запатчить dllmain для модуля от лаунчера в сампе в иде.
я хочу вызвать одну функцию после проверки на fdwReason и сразу вернуть 1, чтобы другие функции из этой части не вызывались, но
игра просто не открывается. подскажите, что не так делаю?
делаю так: если ".text:100EE724 cmp eax, 1" (fdwReason) проходит, тогда вызов sub_10113E40 и return 1
я хочу вызвать одну функцию после проверки на fdwReason и сразу вернуть 1, чтобы другие функции из этой части не вызывались, но
игра просто не открывается. подскажите, что не так делаю?
делаю так: если ".text:100EE724 cmp eax, 1" (fdwReason) проходит, тогда вызов sub_10113E40 и return 1
Код:
.text:100EE6E0 ; BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
.text:100EE6E0 _DllMain@12 proc near ; CODE XREF: dllmain_dispatch(HINSTANCE__ * const,ulong,void * const)+6B↓p
.text:100EE6E0 ; dllmain_dispatch(HINSTANCE__ * const,ulong,void * const)+83↓p
.text:100EE6E0
.text:100EE6E0 anonymous_0 = dword ptr -0Ch
.text:100EE6E0 var_8 = dword ptr -8
.text:100EE6E0 hinstDLL = dword ptr 4
.text:100EE6E0 fdwReason = dword ptr 8
.text:100EE6E0 lpvReserved = dword ptr 0Ch
.text:100EE6E0
.text:100EE6E0 ; FUNCTION CHUNK AT .text:10015FE0 SIZE 00000021 BYTES
.text:100EE6E0 ; FUNCTION CHUNK AT .text:10365FE0 SIZE 00000035 BYTES
.text:100EE6E0 ; FUNCTION CHUNK AT .text:1036601A SIZE 0000002A BYTES
.text:100EE6E0
.text:100EE6E0 ; __unwind { // loc_1036601A
.text:100EE6E0 push ebx
.text:100EE6E1 mov ebx, esp
.text:100EE6E3 sub esp, 8
.text:100EE6E6 and esp, 0FFFFFFF8h
.text:100EE6E9 add esp, 4
.text:100EE6EC push ebp
.text:100EE6ED mov ebp, [ebx+4]
.text:100EE6F0 mov [esp+0Ch+var_8], ebp
.text:100EE6F4 mov ebp, esp
.text:100EE6F6 push 0FFFFFFFFh
.text:100EE6F8 push offset loc_1036601A
.text:100EE6FD mov eax, large fs:0
.text:100EE703 push eax
.text:100EE704 push ebx
.text:100EE705 sub esp, 0C8h
.text:100EE70B mov eax, ___security_cookie
.text:100EE710 xor eax, ebp
.text:100EE712 mov [ebp-14h], eax
.text:100EE715 push esi
.text:100EE716 push edi
.text:100EE717 push eax
.text:100EE718 lea eax, [ebp-0Ch]
.text:100EE71B mov large fs:0, eax
.text:100EE721 mov eax, [ebx+0Ch]
.text:100EE724 cmp eax, 1
.text:100EE727 jnz loc_100EECFD
.text:100EE72D call sub_10212FF0
.text:100EE732 cmp hHeap, 0
.text:100EE739 jnz short loc_100EE74C
.text:100EE73B push 0 ; dwMaximumSize
.text:100EE73D push 0 ; dwInitialSize
.text:100EE73F push 0 ; flOptions
.text:100EE741 call ds:HeapCreate
.text:100EE747 mov hHeap, eax
.text:100EE74C
Код:
.text:100EE6E0 ; BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
.text:100EE6E0 _DllMain@12 proc near ; CODE XREF: dllmain_dispatch(HINSTANCE__ * const,ulong,void * const)+6B↓p
.text:100EE6E0 ; dllmain_dispatch(HINSTANCE__ * const,ulong,void * const)+83↓p
.text:100EE6E0
.text:100EE6E0 var_8 = dword ptr -8
.text:100EE6E0 hinstDLL = dword ptr 4
.text:100EE6E0 fdwReason = dword ptr 8
.text:100EE6E0 lpvReserved = dword ptr 0Ch
.text:100EE6E0
.text:100EE6E0 ; FUNCTION CHUNK AT .text:10015FE0 SIZE 00000021 BYTES
.text:100EE6E0 ; FUNCTION CHUNK AT .text:10365FE0 SIZE 00000035 BYTES
.text:100EE6E0 ; FUNCTION CHUNK AT .text:1036601A SIZE 0000002A BYTES
.text:100EE6E0
.text:100EE6E0 ; __unwind { // loc_1036601A
.text:100EE6E0 push ebx
.text:100EE6E1 mov ebx, esp
.text:100EE6E3 sub esp, 8
.text:100EE6E6 and esp, 0FFFFFFF8h
.text:100EE6E9 add esp, 4
.text:100EE6EC push ebp
.text:100EE6ED mov ebp, [ebx+4]
.text:100EE6F0 mov [esp+0Ch+var_8], ebp
.text:100EE6F4 mov ebp, esp
.text:100EE6F6 push 0FFFFFFFFh
.text:100EE6F8 push offset loc_1036601A
.text:100EE6FD mov eax, large fs:0
.text:100EE703 push eax
.text:100EE704 push ebx
.text:100EE705 sub esp, 0C8h
.text:100EE70B mov eax, ___security_cookie
.text:100EE710 xor eax, ebp
.text:100EE712 mov [ebp-14h], eax
.text:100EE715 push esi
.text:100EE716 push edi
.text:100EE717 push eax
.text:100EE718 lea eax, [ebp-0Ch]
.text:100EE71B mov large fs:0, eax
.text:100EE721 mov eax, [ebx+0Ch]
.text:100EE724 cmp eax, 1
.text:100EE727 jnz loc_100EECFD
.text:100EE72D call sub_10113E40
.text:100EE732 mov eax, 1
.text:100EE737 retn