From bab75cb3523b2d73fc093a9e9fbd5a0180f02c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=8D=E5=85=AE=E6=83=9A=E5=85=AE?= <101191390+HIllya51@users.noreply.github.com> Date: Tue, 22 Oct 2024 00:44:15 +0800 Subject: [PATCH] rm detours --- CMakeLists.txt | 4 +- LunaHook/CMakeLists.txt | 2 +- LunaHook/embed_util.cc | 37 +- LunaHook/embed_util.h | 2 +- LunaHook/engine32/CatSystem.cpp | 2 +- LunaHook/engine32/LCScript.cpp | 1978 ++++++++++++------------ LunaHook/pchhook.h | 1 - libs/Detours-4.0.1/include/detours.h | 1059 ------------- libs/Detours-4.0.1/include/detver.h | 27 - libs/Detours-4.0.1/include/syelog.h | 89 -- libs/Detours-4.0.1/lib.X64/detours.lib | Bin 664644 -> 0 bytes libs/Detours-4.0.1/lib.X64/syelog.lib | Bin 48674 -> 0 bytes libs/Detours-4.0.1/lib.X86/detours.lib | Bin 519250 -> 0 bytes libs/Detours-4.0.1/lib.X86/syelog.lib | Bin 44410 -> 0 bytes libs/libs.cmake | 6 +- 15 files changed, 1025 insertions(+), 2182 deletions(-) delete mode 100644 libs/Detours-4.0.1/include/detours.h delete mode 100644 libs/Detours-4.0.1/include/detver.h delete mode 100644 libs/Detours-4.0.1/include/syelog.h delete mode 100644 libs/Detours-4.0.1/lib.X64/detours.lib delete mode 100644 libs/Detours-4.0.1/lib.X64/syelog.lib delete mode 100644 libs/Detours-4.0.1/lib.X86/detours.lib delete mode 100644 libs/Detours-4.0.1/lib.X86/syelog.lib diff --git a/CMakeLists.txt b/CMakeLists.txt index b16e331..25aa248 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,8 +61,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/version) include(generate_product_version) set(VERSION_MAJOR 3) -set(VERSION_MINOR 15) -set(VERSION_PATCH 1) +set(VERSION_MINOR 16) +set(VERSION_PATCH 0) set(VERSION_REVISION 0) if(BUILD_CORE) diff --git a/LunaHook/CMakeLists.txt b/LunaHook/CMakeLists.txt index 0c2dfb5..d839396 100644 --- a/LunaHook/CMakeLists.txt +++ b/LunaHook/CMakeLists.txt @@ -51,4 +51,4 @@ target_precompile_headers(LunaHook REUSE_FROM pchhook) set_target_properties(LunaHook PROPERTIES OUTPUT_NAME "LunaHook${bitappendix}") -target_link_libraries(LunaHook Version httpapi ws2_32 Shlwapi pch minhook commonengine utils ${YY_Thunks_for_WinXP} ${Detours}) \ No newline at end of file +target_link_libraries(LunaHook Version httpapi ws2_32 Shlwapi pch minhook commonengine utils ${YY_Thunks_for_WinXP}) \ No newline at end of file diff --git a/LunaHook/embed_util.cc b/LunaHook/embed_util.cc index 75d2c4d..7f5345a 100644 --- a/LunaHook/embed_util.cc +++ b/LunaHook/embed_util.cc @@ -1,3 +1,5 @@ +#include "MinHook.h" + DynamicShiftJISCodec *dynamiccodec = new DynamicShiftJISCodec(932); void cast_back(const HookParam &hp, void *data, size_t *len, const std::wstring &trans, bool normal) @@ -72,14 +74,19 @@ bool _1f() return 0; } bool _1 = _1f(); -void ReplaceFunction(PVOID *oldf, PVOID newf) +bool ReplaceFunction(PVOID oldf, PVOID newf, PVOID *pOrigin) { - - RemoveHook((uintptr_t)*oldf); - DetourTransactionBegin(); - DetourUpdateThread(GetCurrentThread()); - DetourAttach((PVOID *)oldf, (PVOID)newf); - DetourTransactionCommit(); + PVOID oldx; + if (!pOrigin) + pOrigin = &oldx; + RemoveHook((uintptr_t)oldf); + if (MH_OK == MH_CreateHook(oldf, newf, pOrigin)) + return MH_OK == MH_EnableHook(oldf); + else + { + MH_RemoveHook(oldf); + return false; + } } void attachFunction(uintptr_t _hook_font_flag) { @@ -89,23 +96,23 @@ void attachFunction(uintptr_t _hook_font_flag) { if (_func.second.attached) continue; - _func.second.attached = true; - *_func.second.oldFunction = _func.second.addr; - replacedfuns.push_back(_func.first); - ReplaceFunction((PVOID *)_func.second.oldFunction, (PVOID)_func.second.newFunction); + + if (ReplaceFunction((PVOID)_func.second.addr, (PVOID)_func.second.newFunction, (PVOID *)_func.second.oldFunction)) + { + _func.second.attached = true; + replacedfuns.push_back(_func.first); + } } } } void detachall() { - DetourTransactionBegin(); - DetourUpdateThread(GetCurrentThread()); for (auto _flag : replacedfuns) { auto info = funcs.at(_flag); - DetourDetach((PVOID *)info.oldFunction, (PVOID)info.newFunction); + if (MH_OK == MH_DisableHook((LPVOID)info.addr)) + MH_RemoveHook((LPVOID)info.addr); } - DetourTransactionCommit(); } void solvefont(HookParam hp) { diff --git a/LunaHook/embed_util.h b/LunaHook/embed_util.h index dca375d..602c966 100644 --- a/LunaHook/embed_util.h +++ b/LunaHook/embed_util.h @@ -28,7 +28,7 @@ namespace Engine }; } inline std::atomic patch_fun = nullptr; -void ReplaceFunction(PVOID *oldf, PVOID newf); +bool ReplaceFunction(PVOID oldf, PVOID newf, PVOID *pOrigin = nullptr); bool check_embed_able(const ThreadParam &tp); bool checktranslatedok(void *data, size_t len); #endif \ No newline at end of file diff --git a/LunaHook/engine32/CatSystem.cpp b/LunaHook/engine32/CatSystem.cpp index 98cee38..cdea079 100644 --- a/LunaHook/engine32/CatSystem.cpp +++ b/LunaHook/engine32/CatSystem.cpp @@ -827,7 +827,7 @@ namespace hp.hook_font = F_GetGlyphOutlineA; patch_fun = []() { - ReplaceFunction((PVOID *)&p, (PVOID)(ULONG)Patch::Private::isLeadByteChar); + ReplaceFunction((PVOID)p, (PVOID)(ULONG)Patch::Private::isLeadByteChar); }; } diff --git a/LunaHook/engine32/LCScript.cpp b/LunaHook/engine32/LCScript.cpp index 57b6144..243604f 100644 --- a/LunaHook/engine32/LCScript.cpp +++ b/LunaHook/engine32/LCScript.cpp @@ -1,1001 +1,1013 @@ -#include"LCScript.h" -namespace { // unnamed -namespace ScenarioHook { -namespace Private { - - // Skip trailing 0203 - LPCSTR trim(LPCSTR text, int *size) +#include "LCScript.h" +namespace +{ // unnamed + namespace ScenarioHook { - auto length = *size; - while (length && (UINT8)text[0] <= 127) { // remove all leading ASCII characters including zeros - text++; - length--; - } - while (length && (UINT8)text[length - 1] == 0) // remove all trailing zeros - length--; - // remove all trailing illegal double-characters - enum { MinimumByte = 0x6 }; // the same as dynamicEncodingMinimumByte - while (length >= 2 && (UINT8)text[length - 1] < MinimumByte && (UINT8)text[length - 2] < MinimumByte) - length -= 2; - *size = length; - return text; - } - - /** - * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ - * - * 067C73FA 8F CD 90 6D 01 81 75 96 7B 93 96 82 C9 82 B1 82 章仁「本当にこ・ - * 067C740A F1 82 C8 82 C6 82 B1 82 EB 82 AA 82 A0 82 E9 82 ネところがある・ - * 067C741A F1 82 BE 82 C8 82 9F 81 63 81 63 81 76 02 03 00 セなぁ……」. - * 067C742A 38 00 00 00 01 81 40 96 DA 82 CC 91 4F 82 C9 8D 8... 目の前に・ - * 067C743A 4C 82 AA 82 E9 8C F5 8C 69 82 F0 91 4F 82 C9 81 Lがる光景を前に・ - * - * Name/scenario splitter: 01 () - * New line splitter: 0203 () - */ - - // 0042FBE8 A1 E8234A00 MOV EAX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here - // - // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here - // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here - // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: offset - // 0042FC1A 8BF8 MOV EDI,EAX - // 0042FC1C 8BC1 MOV EAX,ECX - // 0042FC1E 83C4 04 ADD ESP,0x4 - // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] - - ULONG textBaseAddress_, // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] - textOffset_; // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] - - std::string data_; - - /** - * Sample game: 姦獄学園 - * Sample stack when hook1 is invoked: - * 0012FE10 00000003 - * 0012FE14 00000008 - * 0012FE18 7FFDF000 - * 0012FE1C 00000000 - * 0012FE20 00000000 - * 0012FE24 0012FEB0 Pointer to next SEH record - * 0012FE28 00480918 SE handler - * 0012FE2C 00000000 - * 0012FE30 00419B16 RETURN to .00419B16 from .0040169F - * 0012FE34 0012FE4C - * 0012FE38 0012FE70 - * 0012FE3C 00000040 - * 0012FE40 77032EB2 user32.PeekMessageA - * 0012FE44 00000000 - * 0012FE48 00000039 - * 0012FE4C 00000002 - * 0012FE50 00000039 - * 0012FE54 00000000 - * 0012FE58 00000000 - * - * Scenario thread caller: - * - * 0041C27C E8 D65AFEFF CALL .00401D57 - * 0041C281 8D5424 38 LEA EDX,DWORD PTR SS:[ESP+0x38] - * 0041C285 68 00040000 PUSH 0x400 - * 0041C28A 8D4424 34 LEA EAX,DWORD PTR SS:[ESP+0x34] - * 0041C28E 52 PUSH EDX - * 0041C28F 50 PUSH EAX - * 0041C290 E8 2354FEFF CALL .004016B8 ; jichi: scenario caller here - * 0041C295 83C4 0C ADD ESP,0xC - * 0041C298 8D4C24 38 LEA ECX,DWORD PTR SS:[ESP+0x38] - * 0041C29C 8B15 B44E4A00 MOV EDX,DWORD PTR DS:[0x4A4EB4] - * 0041C2A2 51 PUSH ECX - * 0041C2A3 8B0D 5C0A4A00 MOV ECX,DWORD PTR DS:[0x4A0A5C] - * 0041C2A9 8BC1 MOV EAX,ECX - * - * Other thread callers: - * - * 00421298 8D8424 B0000000 LEA EAX,DWORD PTR SS:[ESP+0xB0] - * 0042129F 50 PUSH EAX - * 004212A0 51 PUSH ECX - * 004212A1 895424 2C MOV DWORD PTR SS:[ESP+0x2C],EDX - * 004212A5 E8 0E04FEFF CALL .004016B8 ; jichi: other caller - * 004212AA 8D5424 38 LEA EDX,DWORD PTR SS:[ESP+0x38] - * 004212AE 68 80000000 PUSH 0x80 - * 004212B3 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+0x24] - * 004212B7 52 PUSH EDX - * 004212B8 50 PUSH EAX - * 004212B9 E8 FA03FEFF CALL .004016B8 ; jichi: other here - * 004212BE 83C4 18 ADD ESP,0x18 - * 004212C1 83FF 01 CMP EDI,0x1 - * 004212C4 75 68 JNZ SHORT .0042132E - * - * - * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ - * Sample scenario caller: - * 0041C0C4 8D4424 38 LEA EAX,DWORD PTR SS:[ESP+0x38] - * 0041C0C8 68 00040000 PUSH 0x400 - * 0041C0CD 8D4C24 34 LEA ECX,DWORD PTR SS:[ESP+0x34] - * 0041C0D1 50 PUSH EAX - * 0041C0D2 51 PUSH ECX - * 0041C0D3 E8 C755FEFF CALL .0040169F ; jichi: called here - * 0041C0D8 8B0D 4CE94900 MOV ECX,DWORD PTR DS:[0x49E94C] - * 0041C0DE 8B35 00244A00 MOV ESI,DWORD PTR DS:[0x4A2400] - * 0041C0E4 8BC1 MOV EAX,ECX - * 0041C0E6 83C4 0C ADD ESP,0xC - * - * 0012FA54 00000001 - * 0012FA58 00000006 - * 0012FA5C 7707EA71 user32.MessageBoxA - * 0012FA60 00000000 - * 0012FA64 00000000 - * 0012FA68 0012FF78 Pointer to next SEH record - * 0012FA6C 00480918 SE handler - * 0012FA70 00000000 - * 0012FA74 0041C0D8 RETURN to .0041C0D8 from .0040169F - * 0012FA78 0012FAB4 - * 0012FA7C 0012FABC - * 0012FA80 00000400 ; jichi: used as split to identify scenario thread - * 0012FA84 00000003 - * 0012FA88 77032EB2 user32.PeekMessageA - * 0012FA8C 77033569 user32.DispatchMessageA - * 0012FA90 7FFDF000 - * 0012FA94 00000000 - * 0012FA98 00000000 - * - * Other thread caller: - * 0012FD60 00000001 - * 0012FD64 00000001 - * 0012FD68 7FFDF000 - * 0012FD6C 00000000 - * 0012FD70 00000000 - * 0012FD74 0012FF78 Pointer to next SEH record - * 0012FD78 00480918 SE handler - * 0012FD7C 00000000 - * 0012FD80 0042113A RETURN to .0042113A from .0040169F - * 0012FD84 0012FDAC - * 0012FD88 0012FE3C - * 0012FD8C 00000080 ; jichi: arg3 - * 0012FD90 00000003 - * 0012FD94 77032EB2 user32.PeekMessageA - * 0012FD98 77033569 user32.DispatchMessageA - * 0012FD9C 00000002 - * 0012FDA0 00000034 - * 0012FDA4 00000002 - * 0012FDA8 0000006D - * 0012FDAC 00000002 - * 0012FDB0 00000034 - * 0012FDB4 00000000 - * 0012FDB8 00000001 - * 0012FDBC 001907D0 - * 0012FDC0 00000202 - * - * Sample game: 恋姫†無双 - * ecx = 0x22 - * Sample game text containing zeros - * 01D6B13B 8E A9 8C 52 81 41 05 04 00 00 00 01 81 40 81 40 自軍、...   - * 01D6B14B 81 40 91 CE 01 93 47 8C 52 81 41 05 05 00 00 00  対敵軍、... - * 01D6B15B 02 00 14 00 00 00 5F 62 74 6C 5F 53 65 74 57 61 ...._btl_SetWa - * 01D6B16B 7A 61 42 74 6E 53 72 63 59 00 0D 00 00 00 5F 62 zaBtnSrcY....._b - * 01D6B17B 74 6C 5F 63 6D 64 63 68 69 70 00 0F 00 00 00 5F tl_cmdchip...._ - * 01D6B18B 62 74 6C 5F 63 6D 64 63 68 69 70 5F 6D 00 0D 00 btl_cmdchip_m... - * 01D6B19B 00 00 5F 62 74 6C 5F 6F 6E 6D 6F 75 73 65 00 0E .._btl_onmouse. - * 01D6B1AB 00 00 00 5F 62 74 6C 5F 73 65 6C 65 63 74 65 64 ..._btl_selected - * 01D6B1BB 00 0B 00 00 00 5F 62 74 6C 5F 52 65 74 72 79 00 . ..._btl_Retry. - * 01D6B1CB 13 00 00 00 5F 62 74 6C 5F 43 6C 65 61 6E 75 70 ..._btl_Cleanup - * - * ecx = 0x19 - * 01D6B317 81 40 04 6B 00 00 00 82 CC 91 B9 8A 51 82 F0 97  k...の損害を・ - * 01D6B327 5E 82 A6 82 BD 81 42 02 00 10 00 00 00 5F 62 74 ^えた。...._bt - * 01D6B337 6C 5F 57 61 7A 61 5F 43 68 6F 75 6E 00 17 00 00 l_Waza_Choun... - * 01D6B347 00 5F 62 74 6C 5F 57 61 7A 61 45 6E 65 6D 79 5F ._btl_WazaEnemy_ - * 01D6B357 42 75 66 66 41 54 4B 00 10 00 00 00 5F 62 74 6C BuffATK...._btl - * 01D6B367 5F 57 61 7A 61 5F 4B 6F 63 68 75 00 1C 00 00 00 _Waza_Kochu.... - */ - - bool hook1(hook_stack*s,void* data, size_t* len1,uintptr_t*role) - { - data_.clear(); - - int size = s->eax - 1; - if (size <= 0) - return false; - - // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here - // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here - // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] - // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] - // 0042FC1A 8BF8 MOV EDI,EAX - // 0042FC1C 8BC1 MOV EAX,ECX - // 0042FC1E 83C4 04 ADD ESP,0x4 - // - // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi - - ULONG edx, esi; + namespace Private { - edx = *(DWORD *)textBaseAddress_; // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] - edx = *(DWORD *)(edx + textOffset_); // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] - esi = *(DWORD *)(s->esi + 0x4); // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - esi = edx + esi + 0x4; // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] - } - auto text = (LPCSTR)esi; - if (!*text - //|| ::strlen(text) != size - || text[size] // text length not verified since there could be trailing zeros - || ::isalpha(text[0]) && ::isalpha(text[1]) // Sample system text in 恋姫無双: bcg_剣道場a - ||all_ascii(text)) - return false; + // Skip trailing 0203 + LPCSTR trim(LPCSTR text, int *size) + { + auto length = *size; + while (length && (UINT8)text[0] <= 127) + { // remove all leading ASCII characters including zeros + text++; + length--; + } + while (length && (UINT8)text[length - 1] == 0) // remove all trailing zeros + length--; + // remove all trailing illegal double-characters + enum + { + MinimumByte = 0x6 + }; // the same as dynamicEncodingMinimumByte + while (length >= 2 && (UINT8)text[length - 1] < MinimumByte && (UINT8)text[length - 2] < MinimumByte) + length -= 2; + *size = length; + return text; + } - auto trimmedSize = size; - auto trimmedText = trim(text, &trimmedSize); - if (trimmedSize <= 0) - return false; + /** + * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ + * + * 067C73FA 8F CD 90 6D 01 81 75 96 7B 93 96 82 C9 82 B1 82 章仁「本当にこ・ + * 067C740A F1 82 C8 82 C6 82 B1 82 EB 82 AA 82 A0 82 E9 82 ネところがある・ + * 067C741A F1 82 BE 82 C8 82 9F 81 63 81 63 81 76 02 03 00 セなぁ……」. + * 067C742A 38 00 00 00 01 81 40 96 DA 82 CC 91 4F 82 C9 8D 8... 目の前に・ + * 067C743A 4C 82 AA 82 E9 8C F5 8C 69 82 F0 91 4F 82 C9 81 Lがる光景を前に・ + * + * Name/scenario splitter: 01 () + * New line splitter: 0203 () + */ - //auto size = s->ecx * 4; - //auto dst = (LPSTR)s->edi; - * role = Engine::OtherRole; - auto retaddr = s->stack[8]; - //if ((*(DWORD *)retaddr & 0xffffff) == 0x0cc483) // 0041C295 83C4 0C ADD ESP,0xC - // role = Engine::ScenarioRole; - auto arg3 = s->stack[8 + 3]; - if (arg3 == 0x400) - *role = Engine::ScenarioRole; - // 8/7/2015: Here, I could also split choice and scenario from the retaddr. - // But I didn't so that choice can also be display the same way asn scenario. - //sig = retaddr; + // 0042FBE8 A1 E8234A00 MOV EAX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here + // + // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here + // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here + // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: offset + // 0042FC1A 8BF8 MOV EDI,EAX + // 0042FC1C 8BC1 MOV EAX,ECX + // 0042FC1E 83C4 04 ADD ESP,0x4 + // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] - std::string oldData(trimmedText, trimmedSize); + ULONG textBaseAddress_, // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] + textOffset_; // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] - static const std::string zero_bytes(1, '\0'); - const char *zero_str = LCSE_0; + std::string data_; - bool containsZeros = false; - if (oldData.find('\0')!=oldData.npos) { - containsZeros = true; - strReplace(oldData, zero_bytes, zero_str); - //oldData.replace(zero_bytes, zero_str); - *role = Engine::OtherRole; - // FIXME: There could be individual ascii letters before zeros (such as "k" and "n") - // They should be escaped here. - // Escaping not implemented since I am lazy. - } - write_string_overwrite(data,len1,oldData); - return true; - } - void hookafter(hook_stack*s,void* data, size_t len1){ - - int size = s->eax - 1; - if (size <= 0) - return ; + /** + * Sample game: 姦獄学園 + * Sample stack when hook1 is invoked: + * 0012FE10 00000003 + * 0012FE14 00000008 + * 0012FE18 7FFDF000 + * 0012FE1C 00000000 + * 0012FE20 00000000 + * 0012FE24 0012FEB0 Pointer to next SEH record + * 0012FE28 00480918 SE handler + * 0012FE2C 00000000 + * 0012FE30 00419B16 RETURN to .00419B16 from .0040169F + * 0012FE34 0012FE4C + * 0012FE38 0012FE70 + * 0012FE3C 00000040 + * 0012FE40 77032EB2 user32.PeekMessageA + * 0012FE44 00000000 + * 0012FE48 00000039 + * 0012FE4C 00000002 + * 0012FE50 00000039 + * 0012FE54 00000000 + * 0012FE58 00000000 + * + * Scenario thread caller: + * + * 0041C27C E8 D65AFEFF CALL .00401D57 + * 0041C281 8D5424 38 LEA EDX,DWORD PTR SS:[ESP+0x38] + * 0041C285 68 00040000 PUSH 0x400 + * 0041C28A 8D4424 34 LEA EAX,DWORD PTR SS:[ESP+0x34] + * 0041C28E 52 PUSH EDX + * 0041C28F 50 PUSH EAX + * 0041C290 E8 2354FEFF CALL .004016B8 ; jichi: scenario caller here + * 0041C295 83C4 0C ADD ESP,0xC + * 0041C298 8D4C24 38 LEA ECX,DWORD PTR SS:[ESP+0x38] + * 0041C29C 8B15 B44E4A00 MOV EDX,DWORD PTR DS:[0x4A4EB4] + * 0041C2A2 51 PUSH ECX + * 0041C2A3 8B0D 5C0A4A00 MOV ECX,DWORD PTR DS:[0x4A0A5C] + * 0041C2A9 8BC1 MOV EAX,ECX + * + * Other thread callers: + * + * 00421298 8D8424 B0000000 LEA EAX,DWORD PTR SS:[ESP+0xB0] + * 0042129F 50 PUSH EAX + * 004212A0 51 PUSH ECX + * 004212A1 895424 2C MOV DWORD PTR SS:[ESP+0x2C],EDX + * 004212A5 E8 0E04FEFF CALL .004016B8 ; jichi: other caller + * 004212AA 8D5424 38 LEA EDX,DWORD PTR SS:[ESP+0x38] + * 004212AE 68 80000000 PUSH 0x80 + * 004212B3 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+0x24] + * 004212B7 52 PUSH EDX + * 004212B8 50 PUSH EAX + * 004212B9 E8 FA03FEFF CALL .004016B8 ; jichi: other here + * 004212BE 83C4 18 ADD ESP,0x18 + * 004212C1 83FF 01 CMP EDI,0x1 + * 004212C4 75 68 JNZ SHORT .0042132E + * + * + * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ + * Sample scenario caller: + * 0041C0C4 8D4424 38 LEA EAX,DWORD PTR SS:[ESP+0x38] + * 0041C0C8 68 00040000 PUSH 0x400 + * 0041C0CD 8D4C24 34 LEA ECX,DWORD PTR SS:[ESP+0x34] + * 0041C0D1 50 PUSH EAX + * 0041C0D2 51 PUSH ECX + * 0041C0D3 E8 C755FEFF CALL .0040169F ; jichi: called here + * 0041C0D8 8B0D 4CE94900 MOV ECX,DWORD PTR DS:[0x49E94C] + * 0041C0DE 8B35 00244A00 MOV ESI,DWORD PTR DS:[0x4A2400] + * 0041C0E4 8BC1 MOV EAX,ECX + * 0041C0E6 83C4 0C ADD ESP,0xC + * + * 0012FA54 00000001 + * 0012FA58 00000006 + * 0012FA5C 7707EA71 user32.MessageBoxA + * 0012FA60 00000000 + * 0012FA64 00000000 + * 0012FA68 0012FF78 Pointer to next SEH record + * 0012FA6C 00480918 SE handler + * 0012FA70 00000000 + * 0012FA74 0041C0D8 RETURN to .0041C0D8 from .0040169F + * 0012FA78 0012FAB4 + * 0012FA7C 0012FABC + * 0012FA80 00000400 ; jichi: used as split to identify scenario thread + * 0012FA84 00000003 + * 0012FA88 77032EB2 user32.PeekMessageA + * 0012FA8C 77033569 user32.DispatchMessageA + * 0012FA90 7FFDF000 + * 0012FA94 00000000 + * 0012FA98 00000000 + * + * Other thread caller: + * 0012FD60 00000001 + * 0012FD64 00000001 + * 0012FD68 7FFDF000 + * 0012FD6C 00000000 + * 0012FD70 00000000 + * 0012FD74 0012FF78 Pointer to next SEH record + * 0012FD78 00480918 SE handler + * 0012FD7C 00000000 + * 0012FD80 0042113A RETURN to .0042113A from .0040169F + * 0012FD84 0012FDAC + * 0012FD88 0012FE3C + * 0012FD8C 00000080 ; jichi: arg3 + * 0012FD90 00000003 + * 0012FD94 77032EB2 user32.PeekMessageA + * 0012FD98 77033569 user32.DispatchMessageA + * 0012FD9C 00000002 + * 0012FDA0 00000034 + * 0012FDA4 00000002 + * 0012FDA8 0000006D + * 0012FDAC 00000002 + * 0012FDB0 00000034 + * 0012FDB4 00000000 + * 0012FDB8 00000001 + * 0012FDBC 001907D0 + * 0012FDC0 00000202 + * + * Sample game: 恋姫†無双 + * ecx = 0x22 + * Sample game text containing zeros + * 01D6B13B 8E A9 8C 52 81 41 05 04 00 00 00 01 81 40 81 40 自軍、...   + * 01D6B14B 81 40 91 CE 01 93 47 8C 52 81 41 05 05 00 00 00  対敵軍、... + * 01D6B15B 02 00 14 00 00 00 5F 62 74 6C 5F 53 65 74 57 61 ...._btl_SetWa + * 01D6B16B 7A 61 42 74 6E 53 72 63 59 00 0D 00 00 00 5F 62 zaBtnSrcY....._b + * 01D6B17B 74 6C 5F 63 6D 64 63 68 69 70 00 0F 00 00 00 5F tl_cmdchip...._ + * 01D6B18B 62 74 6C 5F 63 6D 64 63 68 69 70 5F 6D 00 0D 00 btl_cmdchip_m... + * 01D6B19B 00 00 5F 62 74 6C 5F 6F 6E 6D 6F 75 73 65 00 0E .._btl_onmouse. + * 01D6B1AB 00 00 00 5F 62 74 6C 5F 73 65 6C 65 63 74 65 64 ..._btl_selected + * 01D6B1BB 00 0B 00 00 00 5F 62 74 6C 5F 52 65 74 72 79 00 . ..._btl_Retry. + * 01D6B1CB 13 00 00 00 5F 62 74 6C 5F 43 6C 65 61 6E 75 70 ..._btl_Cleanup + * + * ecx = 0x19 + * 01D6B317 81 40 04 6B 00 00 00 82 CC 91 B9 8A 51 82 F0 97  k...の損害を・ + * 01D6B327 5E 82 A6 82 BD 81 42 02 00 10 00 00 00 5F 62 74 ^えた。...._bt + * 01D6B337 6C 5F 57 61 7A 61 5F 43 68 6F 75 6E 00 17 00 00 l_Waza_Choun... + * 01D6B347 00 5F 62 74 6C 5F 57 61 7A 61 45 6E 65 6D 79 5F ._btl_WazaEnemy_ + * 01D6B357 42 75 66 66 41 54 4B 00 10 00 00 00 5F 62 74 6C BuffATK...._btl + * 01D6B367 5F 57 61 7A 61 5F 4B 6F 63 68 75 00 1C 00 00 00 _Waza_Kochu.... + */ - ULONG edx, esi; + bool hook1(hook_stack *s, void *data, size_t *len1, uintptr_t *role) + { + data_.clear(); + + int size = s->eax - 1; + if (size <= 0) + return false; + + // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here + // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here + // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] + // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] + // 0042FC1A 8BF8 MOV EDI,EAX + // 0042FC1C 8BC1 MOV EAX,ECX + // 0042FC1E 83C4 04 ADD ESP,0x4 + // + // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi + + ULONG edx, esi; + { + edx = *(DWORD *)textBaseAddress_; // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] + edx = *(DWORD *)(edx + textOffset_); // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] + esi = *(DWORD *)(s->esi + 0x4); // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + esi = edx + esi + 0x4; // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] + } + + auto text = (LPCSTR)esi; + if (!*text + //|| ::strlen(text) != size + || text[size] // text length not verified since there could be trailing zeros + || ::isalpha(text[0]) && ::isalpha(text[1]) // Sample system text in 恋姫無双: bcg_剣道場a + || all_ascii(text)) + return false; + + auto trimmedSize = size; + auto trimmedText = trim(text, &trimmedSize); + if (trimmedSize <= 0) + return false; + + // auto size = s->ecx * 4; + // auto dst = (LPSTR)s->edi; + *role = Engine::OtherRole; + auto retaddr = s->stack[8]; + // if ((*(DWORD *)retaddr & 0xffffff) == 0x0cc483) // 0041C295 83C4 0C ADD ESP,0xC + // role = Engine::ScenarioRole; + auto arg3 = s->stack[8 + 3]; + if (arg3 == 0x400) + *role = Engine::ScenarioRole; + // 8/7/2015: Here, I could also split choice and scenario from the retaddr. + // But I didn't so that choice can also be display the same way asn scenario. + // sig = retaddr; + + std::string oldData(trimmedText, trimmedSize); + + static const std::string zero_bytes(1, '\0'); + const char *zero_str = LCSE_0; + + bool containsZeros = false; + if (oldData.find('\0') != oldData.npos) + { + containsZeros = true; + strReplace(oldData, zero_bytes, zero_str); + // oldData.replace(zero_bytes, zero_str); + *role = Engine::OtherRole; + // FIXME: There could be individual ascii letters before zeros (such as "k" and "n") + // They should be escaped here. + // Escaping not implemented since I am lazy. + } + write_string_overwrite(data, len1, oldData); + return true; + } + void hookafter(hook_stack *s, void *data, size_t len1) + { + + int size = s->eax - 1; + if (size <= 0) + return; + + ULONG edx, esi; + { + edx = *(DWORD *)textBaseAddress_; // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] + edx = *(DWORD *)(edx + textOffset_); // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] + esi = *(DWORD *)(s->esi + 0x4); // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + esi = edx + esi + 0x4; // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] + } + + auto text = (LPCSTR)esi; + if (!*text + //|| ::strlen(text) != size + || text[size] // text length not verified since there could be trailing zeros + || ::isalpha(text[0]) && ::isalpha(text[1]) // Sample system text in 恋姫無双: bcg_剣道場a + || all_ascii(text)) + return; + + auto trimmedSize = size; + auto trimmedText = trim(text, &trimmedSize); + if (trimmedSize <= 0) + return; + + auto retaddr = s->stack[8]; + // if ((*(DWORD *)retaddr & 0xffffff) == 0x0cc483) // 0041C295 83C4 0C ADD ESP,0xC + // role = Engine::ScenarioRole; + auto arg3 = s->stack[8 + 3]; + + std::string oldData(trimmedText, trimmedSize); + + static const std::string zero_bytes(1, '\0'); + const char *zero_str = LCSE_0; + + bool containsZeros = false; + if (oldData.find('\0') != oldData.npos) + { + containsZeros = true; + strReplace(oldData, zero_bytes, zero_str); + // oldData.replace(zero_bytes, zero_str); + + // FIXME: There could be individual ascii letters before zeros (such as "k" and "n") + // They should be escaped here. + // Escaping not implemented since I am lazy. + } + std::string newData = std::string((char *)data, len1); + if (newData.empty() || newData == oldData) + return; + + if (containsZeros) + strReplace(newData, zero_str, zero_bytes); + // newData.replace(zero_str, zero_bytes); + + int prefixSize = trimmedText - text, + suffixSize = size - prefixSize - trimmedSize; + if (prefixSize) + newData.insert(0, std::string(text, prefixSize)); + if (suffixSize) + newData.append(trimmedText + trimmedSize, suffixSize); + + data_ = newData; + s->eax = data_.size() + 1; + return; + } + bool hook2(hook_stack *s, void *data, size_t *len1, uintptr_t *role) + { + if (!data_.empty()) + s->esi = (ULONG)data_.c_str(); + return false; + } + } // namespace Private + + /** + * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ + * + * 0042FB1E CC INT3 + * 0042FB1F CC INT3 + * 0042FB20 6A FF PUSH -0x1 + * 0042FB22 68 18094800 PUSH lcsebody.00480918 + * 0042FB27 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] + * 0042FB2D 50 PUSH EAX + * 0042FB2E 64:8925 00000000 MOV DWORD PTR FS:[0],ESP + * 0042FB35 83EC 08 SUB ESP,0x8 + * 0042FB38 53 PUSH EBX + * 0042FB39 33DB XOR EBX,EBX + * 0042FB3B 56 PUSH ESI + * 0042FB3C 57 PUSH EDI + * 0042FB3D 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX + * 0042FB41 895C24 10 MOV DWORD PTR SS:[ESP+0x10],EBX + * 0042FB45 8B7424 24 MOV ESI,DWORD PTR SS:[ESP+0x24] ; jichi; arg1 + * 0042FB49 895C24 1C MOV DWORD PTR SS:[ESP+0x1C],EBX + * 0042FB4D 8B06 MOV EAX,DWORD PTR DS:[ESI] + * 0042FB4F 83F8 05 CMP EAX,0x5 + * 0042FB52 75 2F JNZ SHORT lcsebody.0042FB83 + * 0042FB54 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 0042FB57 8B3D E8234A00 MOV EDI,DWORD PTR DS:[0x4A23E8] + * 0042FB5D 3BF3 CMP ESI,EBX + * 0042FB5F 7C 08 JL SHORT lcsebody.0042FB69 + * 0042FB61 39B7 54290000 CMP DWORD PTR DS:[EDI+0x2954],ESI + * 0042FB67 7F 12 JG SHORT lcsebody.0042FB7B + * 0042FB69 53 PUSH EBX + * 0042FB6A 68 20F54800 PUSH lcsebody.0048F520 ; ASCII "err" + * 0042FB6F 68 F4F44800 PUSH lcsebody.0048F4F4 + * 0042FB74 53 PUSH EBX + * 0042FB75 FF15 EC874A00 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; user32.MessageBoxA + * 0042FB7B 8B87 74290000 MOV EAX,DWORD PTR DS:[EDI+0x2974] + * 0042FB81 EB 32 JMP SHORT lcsebody.0042FBB5 + * 0042FB83 83F8 08 CMP EAX,0x8 ; jichi: esi=arg1 jumped here + * 0042FB86 75 57 JNZ SHORT lcsebody.0042FBDF + * 0042FB88 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 0042FB8B 8B3D E8234A00 MOV EDI,DWORD PTR DS:[0x4A23E8] + * 0042FB91 3BF3 CMP ESI,EBX + * 0042FB93 7C 08 JL SHORT lcsebody.0042FB9D + * 0042FB95 39B7 60290000 CMP DWORD PTR DS:[EDI+0x2960],ESI + * 0042FB9B 7F 12 JG SHORT lcsebody.0042FBAF + * 0042FB9D 53 PUSH EBX + * 0042FB9E 68 20F54800 PUSH lcsebody.0048F520 ; ASCII "err" + * 0042FBA3 68 F4F44800 PUSH lcsebody.0048F4F4 + * 0042FBA8 53 PUSH EBX + * 0042FBA9 FF15 EC874A00 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; user32.MessageBoxA + * 0042FBAF 8B87 80290000 MOV EAX,DWORD PTR DS:[EDI+0x2980] + * 0042FBB5 8D34F0 LEA ESI,DWORD PTR DS:[EAX+ESI*8] + * 0042FBB8 8B06 MOV EAX,DWORD PTR DS:[ESI] + * 0042FBBA 50 PUSH EAX + * 0042FBBB 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX + * 0042FBBF E8 5E840000 CALL lcsebody.00438022 + * 0042FBC4 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] + * 0042FBC8 83C4 04 ADD ESP,0x4 + * 0042FBCB 8BD1 MOV EDX,ECX + * 0042FBCD 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX + * 0042FBD1 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 0042FBD4 8BF8 MOV EDI,EAX + * 0042FBD6 C1E9 02 SHR ECX,0x2 + * 0042FBD9 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> + * 0042FBDB 8BCA MOV ECX,EDX + * 0042FBDD EB 4D JMP SHORT lcsebody.0042FC2C + * 0042FBDF 83F8 02 CMP EAX,0x2 ; jichi: esi=arg1 jumped here + * 0042FBE2 0F85 A2000000 JNZ lcsebody.0042FC8A + * 0042FBE8 A1 E8234A00 MOV EAX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here + * 0042FBED 8B56 04 MOV EDX,DWORD PTR DS:[ESI+0x4] + * 0042FBF0 8B88 44290000 MOV ECX,DWORD PTR DS:[EAX+0x2944] + * 0042FBF6 8B0411 MOV EAX,DWORD PTR DS:[ECX+EDX] + * + * 0042FBF9 50 PUSH EAX ; jichi: hook1, text length pushed, new function + * 0042FBFA 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX ; jichi: text length, is this the memory allocation + * 0042FBFE E8 1F840000 CALL lcsebody.00438022 + * + * 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here + * 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here + * 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] + * 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + * 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] + * 0042FC1A 8BF8 MOV EDI,EAX + * 0042FC1C 8BC1 MOV EAX,ECX + * 0042FC1E 83C4 04 ADD ESP,0x4 + * + * 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi + * 0042FC25 C1E9 02 SHR ECX,0x2 ; jichi: ecx is now the count, here, the rep function is blocked by 4 for performance + * 0042FC28 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS[ESI] ; jichi: text accessed here from esi to edi + * + * 0042FC2A 8BC8 MOV ECX,EAX + * 0042FC2C 8B5424 28 MOV EDX,DWORD PTR SS:[ESP+0x28] + * 0042FC30 83E1 03 AND ECX,0x3 + * 0042FC33 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] + * 0042FC35 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+0x2C] + * 0042FC39 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+0xC] + * 0042FC3D 51 PUSH ECX + * 0042FC3E 52 PUSH EDX + * 0042FC3F 50 PUSH EAX + * 0042FC40 E8 AB14FDFF CALL lcsebody.004010F0 + * 0042FC45 83C4 0C ADD ESP,0xC + * 0042FC48 C74424 1C FFFFFF>MOV DWORD PTR SS:[ESP+0x1C],-0x1 + * 0042FC50 84C0 TEST AL,AL + * 0042FC52 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+0x10] + * 0042FC56 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX + * 0042FC5A 74 21 JE SHORT lcsebody.0042FC7D + * 0042FC5C 3BC3 CMP EAX,EBX + * 0042FC5E 74 09 JE SHORT lcsebody.0042FC69 + * 0042FC60 50 PUSH EAX + * 0042FC61 E8 467E0000 CALL lcsebody.00437AAC + * 0042FC66 83C4 04 ADD ESP,0x4 + * 0042FC69 5F POP EDI + * 0042FC6A 5E POP ESI + * 0042FC6B B0 01 MOV AL,0x1 + * 0042FC6D 5B POP EBX + * 0042FC6E 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+0x8] + * 0042FC72 64:890D 00000000 MOV DWORD PTR FS:[0],ECX + * 0042FC79 83C4 14 ADD ESP,0x14 + * 0042FC7C C3 RETN + * 0042FC7D 3BC3 CMP EAX,EBX + * 0042FC7F 74 09 JE SHORT lcsebody.0042FC8A + * 0042FC81 50 PUSH EAX + * 0042FC82 E8 257E0000 CALL lcsebody.00437AAC + * 0042FC87 83C4 04 ADD ESP,0x4 + * 0042FC8A 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+0x14] + * 0042FC8E 5F POP EDI + * 0042FC8F 5E POP ESI + * 0042FC90 32C0 XOR AL,AL + * 0042FC92 5B POP EBX + * 0042FC93 64:890D 00000000 MOV DWORD PTR FS:[0],ECX + * 0042FC9A 83C4 14 ADD ESP,0x14 + * 0042FC9D C3 RETN + * 0042FC9E 90 NOP + * 0042FC9F 90 NOP + * 0042FCA0 CC INT3 + * 0042FCA1 CC INT3 + * 0042FCA2 CC INT3 + * 0042FCA3 CC INT3 + * 0042FCA4 CC INT3 + * 0042FCA5 CC INT3 + * 0042FCA6 CC INT3 + * + * Sample game: 姦獄学園 + * + * 00430CAB CC INT3 + * 00430CAC CC INT3 + * 00430CAD CC INT3 + * 00430CAE CC INT3 + * 00430CAF CC INT3 + * 00430CB0 6A FF PUSH -0x1 + * 00430CB2 68 08204800 PUSH .00482008 + * 00430CB7 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] + * 00430CBD 50 PUSH EAX + * 00430CBE 64:8925 00000000 MOV DWORD PTR FS:[0],ESP + * 00430CC5 83EC 08 SUB ESP,0x8 + * 00430CC8 53 PUSH EBX + * 00430CC9 33DB XOR EBX,EBX + * 00430CCB 56 PUSH ESI + * 00430CCC 57 PUSH EDI + * 00430CCD 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX + * 00430CD1 895C24 10 MOV DWORD PTR SS:[ESP+0x10],EBX + * 00430CD5 8B7424 24 MOV ESI,DWORD PTR SS:[ESP+0x24] + * 00430CD9 895C24 1C MOV DWORD PTR SS:[ESP+0x1C],EBX + * 00430CDD 8B06 MOV EAX,DWORD PTR DS:[ESI] + * 00430CDF 83F8 05 CMP EAX,0x5 + * 00430CE2 75 2F JNZ SHORT .00430D13 + * 00430CE4 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 00430CE7 8B3D 9C4E4A00 MOV EDI,DWORD PTR DS:[0x4A4E9C] + * 00430CED 3BF3 CMP ESI,EBX + * 00430CEF 7C 08 JL SHORT .00430CF9 + * 00430CF1 39B7 54310000 CMP DWORD PTR DS:[EDI+0x3154],ESI + * 00430CF7 7F 12 JG SHORT .00430D0B + * 00430CF9 53 PUSH EBX + * 00430CFA 68 98154900 PUSH .00491598 ; ASCII "err" + * 00430CFF 68 D8254900 PUSH .004925D8 + * 00430D04 53 PUSH EBX + * 00430D05 FF15 2CC84A00 CALL DWORD PTR DS:[0x4AC82C] ; user32.MessageBoxA + * 00430D0B 8B87 74310000 MOV EAX,DWORD PTR DS:[EDI+0x3174] + * 00430D11 EB 32 JMP SHORT .00430D45 + * 00430D13 83F8 08 CMP EAX,0x8 + * 00430D16 75 57 JNZ SHORT .00430D6F + * 00430D18 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 00430D1B 8B3D 9C4E4A00 MOV EDI,DWORD PTR DS:[0x4A4E9C] + * 00430D21 3BF3 CMP ESI,EBX + * 00430D23 7C 08 JL SHORT .00430D2D + * 00430D25 39B7 60310000 CMP DWORD PTR DS:[EDI+0x3160],ESI + * 00430D2B 7F 12 JG SHORT .00430D3F + * 00430D2D 53 PUSH EBX + * 00430D2E 68 98154900 PUSH .00491598 ; ASCII "err" + * 00430D33 68 AC254900 PUSH .004925AC + * 00430D38 53 PUSH EBX + * 00430D39 FF15 2CC84A00 CALL DWORD PTR DS:[0x4AC82C] ; user32.MessageBoxA + * 00430D3F 8B87 80310000 MOV EAX,DWORD PTR DS:[EDI+0x3180] + * 00430D45 8D34F0 LEA ESI,DWORD PTR DS:[EAX+ESI*8] + * 00430D48 8B06 MOV EAX,DWORD PTR DS:[ESI] + * 00430D4A 50 PUSH EAX + * 00430D4B 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX + * 00430D4F E8 BE890000 CALL .00439712 + * 00430D54 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] + * 00430D58 83C4 04 ADD ESP,0x4 + * 00430D5B 8BD1 MOV EDX,ECX + * 00430D5D 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX + * 00430D61 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 00430D64 8BF8 MOV EDI,EAX + * 00430D66 C1E9 02 SHR ECX,0x2 + * 00430D69 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> + * 00430D6B 8BCA MOV ECX,EDX + * 00430D6D EB 4D JMP SHORT .00430DBC + * 00430D6F 83F8 02 CMP EAX,0x2 + * 00430D72 0F85 A2000000 JNZ .00430E1A + * 00430D78 A1 9C4E4A00 MOV EAX,DWORD PTR DS:[0x4A4E9C] + * 00430D7D 8B56 04 MOV EDX,DWORD PTR DS:[ESI+0x4] + * 00430D80 8B88 44310000 MOV ECX,DWORD PTR DS:[EAX+0x3144] + * 00430D86 8B0411 MOV EAX,DWORD PTR DS:[ECX+EDX] + * 00430D89 50 PUSH EAX + * 00430D8A 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX + * 00430D8E E8 7F890000 CALL .00439712 + * 00430D93 8B15 9C4E4A00 MOV EDX,DWORD PTR DS:[0x4A4E9C] + * 00430D99 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] + * 00430D9D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] + * 00430DA0 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + * 00430DA4 8B92 44310000 MOV EDX,DWORD PTR DS:[EDX+0x3144] + * 00430DAA 8BF8 MOV EDI,EAX + * 00430DAC 8BC1 MOV EAX,ECX + * 00430DAE 83C4 04 ADD ESP,0x4 + * 00430DB1 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: the other game's access point + * 00430DB5 C1E9 02 SHR ECX,0x2 + * 00430DB8 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] + * 00430DBA 8BC8 MOV ECX,EAX + * 00430DBC 8B5424 28 MOV EDX,DWORD PTR SS:[ESP+0x28] + * 00430DC0 83E1 03 AND ECX,0x3 + * 00430DC3 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] + * 00430DC5 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+0x2C] + * 00430DC9 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+0xC] + * 00430DCD 51 PUSH ECX + * 00430DCE 52 PUSH EDX + * 00430DCF 50 PUSH EAX + * 00430DD0 E8 2503FDFF CALL .004010FA + * 00430DD5 83C4 0C ADD ESP,0xC + * 00430DD8 C74424 1C FFFFFF>MOV DWORD PTR SS:[ESP+0x1C],-0x1 + * 00430DE0 84C0 TEST AL,AL + * 00430DE2 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+0x10] + * 00430DE6 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX + * 00430DEA 74 21 JE SHORT .00430E0D + * 00430DEC 3BC3 CMP EAX,EBX + * 00430DEE 74 09 JE SHORT .00430DF9 + * 00430DF0 50 PUSH EAX + * 00430DF1 E8 A6830000 CALL .0043919C + * 00430DF6 83C4 04 ADD ESP,0x4 + * 00430DF9 5F POP EDI + * 00430DFA 5E POP ESI + * 00430DFB B0 01 MOV AL,0x1 + * 00430DFD 5B POP EBX + * 00430DFE 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+0x8] + * 00430E02 64:890D 00000000 MOV DWORD PTR FS:[0],ECX + * 00430E09 83C4 14 ADD ESP,0x14 + * 00430E0C C3 RETN + * 00430E0D 3BC3 CMP EAX,EBX + * 00430E0F 74 09 JE SHORT .00430E1A + * 00430E11 50 PUSH EAX + * 00430E12 E8 85830000 CALL .0043919C + * 00430E17 83C4 04 ADD ESP,0x4 + * 00430E1A 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+0x14] + * 00430E1E 5F POP EDI + * 00430E1F 5E POP ESI + * 00430E20 32C0 XOR AL,AL + * 00430E22 5B POP EBX + * 00430E23 64:890D 00000000 MOV DWORD PTR FS:[0],ECX + * 00430E2A 83C4 14 ADD ESP,0x14 + * 00430E2D C3 RETN + * 00430E2E 90 NOP + * 00430E2F 90 NOP + * 00430E30 CC INT3 + * 00430E31 CC INT3 + * 00430E32 CC INT3 + * 00430E33 CC INT3 + * 00430E34 CC INT3 + */ + bool isLeadByteChar(const char *s) { - edx = *(DWORD *)textBaseAddress_; // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] - edx = *(DWORD *)(edx + textOffset_); // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] - esi = *(DWORD *)(s->esi + 0x4); // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - esi = edx + esi + 0x4; // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] + return dynsjis::isleadstr(s); + // return ::IsDBCSLeadByte(HIBYTE(testChar)); + } + bool attach(ULONG startAddress, ULONG stopAddress, ULONG dyna) + { + const uint8_t bytes[] = { + 0x8d, 0x74, 0x32, 0x04, // 0042fc21 8d7432 04 lea esi,dword ptr ds:[edx+esi+0x4] + 0xc1, 0xe9, 0x02, // 0042fc25 c1e9 02 shr ecx,0x2 + 0xf3, 0xa5 // 0042fc28 f3:a5 rep movs dword ptr es:[edi],dword ptr ds[esi] ; jichi: text accessed here from esi to edi + }; + ULONG addr2 = MemDbg::findBytes(bytes, sizeof(bytes), startAddress, stopAddress); + if (!addr2) + return false; + + // 0042FBF9 50 PUSH EAX ; jichi: hook1, text length pushed, new function + // 0042FBFA 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX ; jichi: text length, is this the memory allocation? + // 0042FBFE E8 1F840000 CALL lcsebody.00438022 + // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here + // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here + // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] + // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] + // 0042FC1A 8BF8 MOV EDI,EAX + // 0042FC1C 8BC1 MOV EAX,ECX + // 0042FC1E 83C4 04 ADD ESP,0x4 + // + // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi + // 0042FC25 C1E9 02 SHR ECX,0x2 ; jichi: ecx is now the count, here, the rep function is blocked by 4 for performance + // 0042FC28 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS[ESI] ; jichi: text accessed here from esi to edi + ULONG addr1 = addr2 + 0x0042fbf9 - 0x0042fc21; + if (*(BYTE *)addr1 != 0x50) // push_eax + return false; + + // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here + // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here + // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] + // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX + // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: offset addr, [[0x4A23E8] + 0x2944] + { + ULONG addr = addr2 + 0x0042fc03 - 0x0042fc21; + if (*(WORD *)addr != 0x158b) // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] + return false; + addr += 2; + Private::textBaseAddress_ = *(DWORD *)addr; + } + { + ULONG addr = addr2 + 0x0042fc14 - 0x0042fc21; + if (*(WORD *)addr != 0x928b) // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] + return false; + addr += 2; + Private::textOffset_ = *(DWORD *)addr; + } + HookParam hp; + hp.address = addr1; + hp.hook_before = Private::hook1; + hp.hook_after = Private::hookafter; + hp.type = EMBED_ABLE; + hp.newlineseperator = L"\x01"; + hp.hook_font = F_GetGlyphOutlineA; + if (dyna) + { + static ULONG dynas; + dynas = dyna; + hp.type |= EMBED_DYNA_SJIS; + hp.hook_font = F_GetGlyphOutlineA; + patch_fun = []() + { + ReplaceFunction((PVOID)dynas, (PVOID)(ULONG)isLeadByteChar); + dynamiccodec->setMinimumSecondByte(6); //// skip 0x1,0x2,0x3 in case dynamic encoding could crash the game + }; + } + auto succ = NewHook(hp, "EmbedLCSE"); + hp.address = addr2 + 4; + hp.hook_before = Private::hook2; + hp.type = EMBED_ABLE | HOOK_EMPTY; + succ |= NewHook(hp, "EmbedLCSE"); + return succ; + } + } // namespace ScenarioHook + + namespace Patch + { + + namespace Private + { + bool isLeadByteChar(const char *s) + { + return dynsjis::isleadstr(s); + // return ::IsDBCSLeadByte(HIBYTE(testChar)); + } + + } // namespace Private + + /** + * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ + * + * Debugging method: Find text in memory, and then insert hardware breakpoint. + * It will be accessed only ONCE in the following function. + * + * This function can also be found by searching the following instruction: + * 0040A389 3C 81 CMP AL,0x81 + * + * This function is very similar to that in CatSystem2. + * + * 0040A37E CC INT3 + * 0040A37F CC INT3 + * 0040A380 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+0x4] + * 0040A384 8A01 MOV AL,BYTE PTR DS:[ECX] ; jichi: first byte + * 0040A386 8A49 01 MOV CL,BYTE PTR DS:[ECX+0x1] ; jichi: second byte + * 0040A389 3C 81 CMP AL,0x81 + * 0040A38B 72 04 JB SHORT lcsebody.0040A391 + * 0040A38D 3C 9F CMP AL,0x9F + * 0040A38F 76 08 JBE SHORT lcsebody.0040A399 + * 0040A391 3C E0 CMP AL,0xE0 + * 0040A393 72 1B JB SHORT lcsebody.0040A3B0 + * 0040A395 3C FC CMP AL,0xFC + * 0040A397 77 17 JA SHORT lcsebody.0040A3B0 + * 0040A399 80F9 40 CMP CL,0x40 + * 0040A39C 72 05 JB SHORT lcsebody.0040A3A3 + * 0040A39E 80F9 7E CMP CL,0x7E + * 0040A3A1 76 0A JBE SHORT lcsebody.0040A3AD + * 0040A3A3 80F9 80 CMP CL,0x80 + * 0040A3A6 72 08 JB SHORT lcsebody.0040A3B0 + * 0040A3A8 80F9 FC CMP CL,0xFC + * 0040A3AB 77 03 JA SHORT lcsebody.0040A3B0 + * 0040A3AD B0 01 MOV AL,0x1 + * 0040A3AF C3 RETN + * 0040A3B0 32C0 XOR AL,AL + * 0040A3B2 C3 RETN + * 0040A3B3 90 NOP + * 0040A3B4 90 NOP + * 0040A3B5 90 NOP + * 0040A3B6 90 NOP + * + * This function is found by tracing the caller of GetGlyphOutlineA, as follows: + * + * 00416B6B CC INT3 + * 00416B6C CC INT3 + * 00416B6D CC INT3 + * 00416B6E CC INT3 + * 00416B6F CC INT3 + * 00416B70 83EC 08 SUB ESP,0x8 + * 00416B73 53 PUSH EBX + * 00416B74 56 PUSH ESI + * 00416B75 8BF1 MOV ESI,ECX + * 00416B77 33DB XOR EBX,EBX ; jichi: zero ebx + * 00416B79 57 PUSH EDI + * 00416B7A 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] + * 00416B80 8A9430 08010000 MOV DL,BYTE PTR DS:[EAX+ESI+0x108] ; jichi: byte accessed here + * 00416B87 8D8C30 08010000 LEA ECX,DWORD PTR DS:[EAX+ESI+0x108] ; jichi: byte accessed here + * 00416B8E 3AD3 CMP DL,BL ; jichi: bl is zero, dl is the current byte + * 00416B90 75 0C JNZ SHORT lcsebody.00416B9E + * 00416B92 B8 FF000000 MOV EAX,0xFF + * 00416B97 5F POP EDI + * 00416B98 5E POP ESI + * 00416B99 5B POP EBX + * 00416B9A 83C4 08 ADD ESP,0x8 + * 00416B9D C3 RETN + * 00416B9E 8B96 F0000000 MOV EDX,DWORD PTR DS:[ESI+0xF0] + * 00416BA4 4A DEC EDX + * 00416BA5 3BC2 CMP EAX,EDX + * 00416BA7 0F8D 31010000 JGE lcsebody.00416CDE + * 00416BAD 51 PUSH ECX + * 00416BAE E8 31B1FEFF CALL lcsebody.00401CE4 ; jichi: ecx point to the current character, return 0 or 1 + * 00416BB3 83C4 04 ADD ESP,0x4 + * 00416BB6 84C0 TEST AL,AL + * 00416BB8 0F84 20010000 JE lcsebody.00416CDE ; jichi: wrong here + * 00416BBE 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] + * 00416BC4 33C9 XOR ECX,ECX + * 00416BC6 03C6 ADD EAX,ESI + * 00416BC8 889E 20050000 MOV BYTE PTR DS:[ESI+0x520],BL + * 00416BCE 8AA8 08010000 MOV CH,BYTE PTR DS:[EAX+0x108] ; jichi: high bits + * 00416BD4 8A88 09010000 MOV CL,BYTE PTR DS:[EAX+0x109] + * 00416BDA 8BF9 MOV EDI,ECX ; jichi: low bits, edi is now the full character + * 00416BDC 8BCE MOV ECX,ESI ; jichi: recover ecx to esi + * 00416BDE E8 13AEFEFF CALL lcsebody.004019F6 ; jichi: eax is zero when edi is legal + * 00416BE3 3BC3 CMP EAX,EBX ; jichi: ebx is always zero as well + * 00416BE5 74 4A JE SHORT lcsebody.00416C31 + * 00416BE7 389E 2C050000 CMP BYTE PTR DS:[ESI+0x52C],BL + * 00416BED 0F84 9A020000 JE lcsebody.00416E8D + * 00416BF3 389E 20050000 CMP BYTE PTR DS:[ESI+0x520],BL + * 00416BF9 74 1B JE SHORT lcsebody.00416C16 + * 00416BFB B9 34F14800 MOV ECX,lcsebody.0048F134 + * 00416C00 3B39 CMP EDI,DWORD PTR DS:[ECX] + * 00416C02 74 2D JE SHORT lcsebody.00416C31 + * 00416C04 83C1 04 ADD ECX,0x4 + * 00416C07 81F9 50F14800 CMP ECX,lcsebody.0048F150 + * 00416C0D ^7C F1 JL SHORT lcsebody.00416C00 + * 00416C0F 5F POP EDI + * 00416C10 5E POP ESI + * 00416C11 5B POP EBX + * 00416C12 83C4 08 ADD ESP,0x8 + * 00416C15 C3 RETN + * 00416C16 B9 00F14800 MOV ECX,lcsebody.0048F100 + * 00416C1B 3B39 CMP EDI,DWORD PTR DS:[ECX] + * 00416C1D 74 12 JE SHORT lcsebody.00416C31 + * 00416C1F 83C1 04 ADD ECX,0x4 + * 00416C22 81F9 34F14800 CMP ECX,lcsebody.0048F134 + * 00416C28 ^7C F1 JL SHORT lcsebody.00416C1B + * 00416C2A 5F POP EDI + * 00416C2B 5E POP ESI + * 00416C2C 5B POP EBX + * 00416C2D 83C4 08 ADD ESP,0x8 + * 00416C30 C3 RETN + * 00416C31 8A8E 20050000 MOV CL,BYTE PTR DS:[ESI+0x520] + * 00416C37 3ACB CMP CL,BL + * 00416C39 74 15 JE SHORT lcsebody.00416C50 + * 00416C3B B8 70F14800 MOV EAX,lcsebody.0048F170 + * 00416C40 3B38 CMP EDI,DWORD PTR DS:[EAX] + * 00416C42 74 21 JE SHORT lcsebody.00416C65 + * 00416C44 83C0 04 ADD EAX,0x4 + * 00416C47 3D 7CF14800 CMP EAX,lcsebody.0048F17C + * 00416C4C ^7C F2 JL SHORT lcsebody.00416C40 + * 00416C4E EB 1B JMP SHORT lcsebody.00416C6B + * 00416C50 B8 50F14800 MOV EAX,lcsebody.0048F150 + * 00416C55 3B38 CMP EDI,DWORD PTR DS:[EAX] ; jichi: compare current wide character with a threshold (0x8169 = "(") + * 00416C57 74 0C JE SHORT lcsebody.00416C65 + * 00416C59 83C0 04 ADD EAX,0x4 + * 00416C5C 3D 70F14800 CMP EAX,lcsebody.0048F170 + * 00416C61 ^7C F2 JL SHORT lcsebody.00416C55 + * 00416C63 EB 06 JMP SHORT lcsebody.00416C6B + * 00416C65 FF86 24050000 INC DWORD PTR DS:[ESI+0x524] + * 00416C6B 3ACB CMP CL,BL + * 00416C6D 74 15 JE SHORT lcsebody.00416C84 + * 00416C6F B8 9CF14800 MOV EAX,lcsebody.0048F19C + * 00416C74 3B38 CMP EDI,DWORD PTR DS:[EAX] + * 00416C76 74 21 JE SHORT lcsebody.00416C99 + * 00416C78 83C0 04 ADD EAX,0x4 + * 00416C7B 3D A8F14800 CMP EAX,lcsebody.0048F1A8 + * 00416C80 ^7C F2 JL SHORT lcsebody.00416C74 + * 00416C82 EB 2A JMP SHORT lcsebody.00416CAE + * 00416C84 B8 7CF14800 MOV EAX,lcsebody.0048F17C + * 00416C89 3B38 CMP EDI,DWORD PTR DS:[EAX] + * 00416C8B 74 0C JE SHORT lcsebody.00416C99 + * 00416C8D 83C0 04 ADD EAX,0x4 + * 00416C90 3D 9CF14800 CMP EAX,lcsebody.0048F19C + * 00416C95 ^7C F2 JL SHORT lcsebody.00416C89 + * 00416C97 EB 15 JMP SHORT lcsebody.00416CAE + * 00416C99 8B86 24050000 MOV EAX,DWORD PTR DS:[ESI+0x524] + * 00416C9F 48 DEC EAX + * 00416CA0 8986 24050000 MOV DWORD PTR DS:[ESI+0x524],EAX + * 00416CA6 79 06 JNS SHORT lcsebody.00416CAE + * 00416CA8 899E 24050000 MOV DWORD PTR DS:[ESI+0x524],EBX + * 00416CAE 57 PUSH EDI + * 00416CAF 8BCE MOV ECX,ESI + * 00416CB1 E8 20A5FEFF CALL lcsebody.004011D6 + * 00416CB6 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] + * 00416CBC 8A9430 08010000 MOV DL,BYTE PTR DS:[EAX+ESI+0x108] + * 00416CC3 83C0 02 ADD EAX,0x2 + * 00416CC6 885424 0C MOV BYTE PTR SS:[ESP+0xC],DL + * 00416CCA 8A8C30 07010000 MOV CL,BYTE PTR DS:[EAX+ESI+0x107] + * 00416CD1 884C24 0D MOV BYTE PTR SS:[ESP+0xD],CL + * 00416CD5 885C24 0E MOV BYTE PTR SS:[ESP+0xE],BL + * 00416CD9 E9 77010000 JMP lcsebody.00416E55 + * 00416CDE 8B96 EC000000 MOV EDX,DWORD PTR DS:[ESI+0xEC] + * 00416CE4 C686 20050000 01 MOV BYTE PTR DS:[ESI+0x520],0x1 + * 00416CEB 8A8C16 08010000 MOV CL,BYTE PTR DS:[ESI+EDX+0x108] + * 00416CF2 8D8416 08010000 LEA EAX,DWORD PTR DS:[ESI+EDX+0x108] + * 00416CF9 80F9 1F CMP CL,0x1F + * 00416CFC 77 54 JA SHORT lcsebody.00416D52 + * 00416CFE 80F9 03 CMP CL,0x3 + * 00416D01 75 06 JNZ SHORT lcsebody.00416D09 + * 00416D03 899E 28050000 MOV DWORD PTR DS:[ESI+0x528],EBX + * 00416D09 8A00 MOV AL,BYTE PTR DS:[EAX] + * 00416D0B 83EC 0C SUB ESP,0xC + * 00416D0E 8D5424 18 LEA EDX,DWORD PTR SS:[ESP+0x18] + * 00416D12 8BCC MOV ECX,ESP + * 00416D14 896424 1C MOV DWORD PTR SS:[ESP+0x1C],ESP + * 00416D18 8DBE FC000000 LEA EDI,DWORD PTR DS:[ESI+0xFC] + * 00416D1E 52 PUSH EDX + * 00416D1F 51 PUSH ECX + * 00416D20 8BCF MOV ECX,EDI + * 00416D22 884424 20 MOV BYTE PTR SS:[ESP+0x20],AL + * 00416D26 885C24 21 MOV BYTE PTR SS:[ESP+0x21],BL + * 00416D2A E8 D0A8FEFF CALL lcsebody.004015FF + * 00416D2F 8BCF MOV ECX,EDI + * 00416D31 E8 A1A8FEFF CALL lcsebody.004015D7 + * 00416D36 8B8E EC000000 MOV ECX,DWORD PTR DS:[ESI+0xEC] + * 00416D3C 0FBE8431 0801000> MOVSX EAX,BYTE PTR DS:[ECX+ESI+0x108] + * 00416D44 41 INC ECX + * 00416D45 898E EC000000 MOV DWORD PTR DS:[ESI+0xEC],ECX + * 00416D4B 5F POP EDI + * 00416D4C 5E POP ESI + * 00416D4D 5B POP EBX + * 00416D4E 83C4 08 ADD ESP,0x8 + * 00416D51 C3 RETN + * 00416D52 8BCE MOV ECX,ESI + * 00416D54 E8 9DACFEFF CALL lcsebody.004019F6 + * 00416D59 3BC3 CMP EAX,EBX + * 00416D5B 74 4A JE SHORT lcsebody.00416DA7 + * 00416D5D 389E 2C050000 CMP BYTE PTR DS:[ESI+0x52C],BL + * 00416D63 0F84 24010000 JE lcsebody.00416E8D + * 00416D69 389E 20050000 CMP BYTE PTR DS:[ESI+0x520],BL + * 00416D6F 74 1B JE SHORT lcsebody.00416D8C + * 00416D71 B9 34F14800 MOV ECX,lcsebody.0048F134 + * 00416D76 3919 CMP DWORD PTR DS:[ECX],EBX + * 00416D78 74 2D JE SHORT lcsebody.00416DA7 + * 00416D7A 83C1 04 ADD ECX,0x4 + * 00416D7D 81F9 50F14800 CMP ECX,lcsebody.0048F150 + * 00416D83 ^7C F1 JL SHORT lcsebody.00416D76 + * 00416D85 5F POP EDI + * 00416D86 5E POP ESI + * 00416D87 5B POP EBX + * 00416D88 83C4 08 ADD ESP,0x8 + * 00416D8B C3 RETN + * 00416D8C B9 00F14800 MOV ECX,lcsebody.0048F100 + * 00416D91 3919 CMP DWORD PTR DS:[ECX],EBX + * 00416D93 74 12 JE SHORT lcsebody.00416DA7 + * 00416D95 83C1 04 ADD ECX,0x4 + * 00416D98 81F9 34F14800 CMP ECX,lcsebody.0048F134 + * 00416D9E ^7C F1 JL SHORT lcsebody.00416D91 + * 00416DA0 5F POP EDI + * 00416DA1 5E POP ESI + * 00416DA2 5B POP EBX + * 00416DA3 83C4 08 ADD ESP,0x8 + * 00416DA6 C3 RETN + * 00416DA7 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] + * 00416DAD 8A96 20050000 MOV DL,BYTE PTR DS:[ESI+0x520] + * 00416DB3 0FBEBC06 08010000 MOVSX EDI,BYTE PTR DS:[ESI+EAX+0x108] ; jichi: edi get assigned to the illegal character + * 00416DBB 8BCF MOV ECX,EDI + * 00416DBD C1E1 08 SHL ECX,0x8 + * 00416DC0 3AD3 CMP DL,BL + * 00416DC2 74 15 JE SHORT lcsebody.00416DD9 + * 00416DC4 B8 70F14800 MOV EAX,lcsebody.0048F170 + * 00416DC9 3B08 CMP ECX,DWORD PTR DS:[EAX] + * 00416DCB 74 21 JE SHORT lcsebody.00416DEE + * 00416DCD 83C0 04 ADD EAX,0x4 + * 00416DD0 3D 7CF14800 CMP EAX,lcsebody.0048F17C + * 00416DD5 ^7C F2 JL SHORT lcsebody.00416DC9 + * 00416DD7 EB 1B JMP SHORT lcsebody.00416DF4 + * 00416DD9 B8 50F14800 MOV EAX,lcsebody.0048F150 + * 00416DDE 3B08 CMP ECX,DWORD PTR DS:[EAX] + * 00416DE0 74 0C JE SHORT lcsebody.00416DEE + * 00416DE2 83C0 04 ADD EAX,0x4 + * 00416DE5 3D 70F14800 CMP EAX,lcsebody.0048F170 + * 00416DEA ^7C F2 JL SHORT lcsebody.00416DDE + * 00416DEC EB 06 JMP SHORT lcsebody.00416DF4 + * 00416DEE FF86 24050000 INC DWORD PTR DS:[ESI+0x524] + * 00416DF4 3AD3 CMP DL,BL + * 00416DF6 74 15 JE SHORT lcsebody.00416E0D + * 00416DF8 B8 9CF14800 MOV EAX,lcsebody.0048F19C + * 00416DFD 3B08 CMP ECX,DWORD PTR DS:[EAX] + * 00416DFF 74 21 JE SHORT lcsebody.00416E22 + * 00416E01 83C0 04 ADD EAX,0x4 + * 00416E04 3D A8F14800 CMP EAX,lcsebody.0048F1A8 + * 00416E09 ^7C F2 JL SHORT lcsebody.00416DFD + * 00416E0B EB 2A JMP SHORT lcsebody.00416E37 + * 00416E0D B8 7CF14800 MOV EAX,lcsebody.0048F17C + * 00416E12 3B08 CMP ECX,DWORD PTR DS:[EAX] + * 00416E14 74 0C JE SHORT lcsebody.00416E22 + * 00416E16 83C0 04 ADD EAX,0x4 + * 00416E19 3D 9CF14800 CMP EAX,lcsebody.0048F19C + * 00416E1E ^7C F2 JL SHORT lcsebody.00416E12 + * 00416E20 EB 15 JMP SHORT lcsebody.00416E37 + * 00416E22 8B86 24050000 MOV EAX,DWORD PTR DS:[ESI+0x524] + * 00416E28 48 DEC EAX + * 00416E29 8986 24050000 MOV DWORD PTR DS:[ESI+0x524],EAX + * 00416E2F 79 06 JNS SHORT lcsebody.00416E37 + * 00416E31 899E 24050000 MOV DWORD PTR DS:[ESI+0x524],EBX + * 00416E37 57 PUSH EDI ; jichi: invalid character + * 00416E38 8BCE MOV ECX,ESI + * 00416E3A E8 97A3FEFF CALL lcsebody.004011D6 ; jichi: char in arg1 + * 00416E3F 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] + */ + + ULONG patchEncoding(ULONG startAddress, ULONG stopAddress) + { + const uint8_t bytes[] = { + 0x8b, 0x4c, 0x24, 0x04, // 0040a380 8b4c24 04 mov ecx,dword ptr ss:[esp+0x4] + 0x8a, 0x01, // 0040a384 8a01 mov al,byte ptr ds:[ecx] + 0x8a, 0x49, 0x01, // 0040a386 8a49 01 mov cl,byte ptr ds:[ecx+0x1] + 0x3c, 0x81 // 0040a389 3c 81 cmp al,0x81 + }; + ULONG addr = MemDbg::findBytes(bytes, sizeof(bytes), startAddress, stopAddress); + return addr; // && winhook::replace_fun(addr, (ULONG)Private::isLeadByteChar); } - auto text = (LPCSTR)esi; - if (!*text - //|| ::strlen(text) != size - || text[size] // text length not verified since there could be trailing zeros - || ::isalpha(text[0]) && ::isalpha(text[1]) // Sample system text in 恋姫無双: bcg_剣道場a - ||all_ascii(text)) - return ; - - auto trimmedSize = size; - auto trimmedText = trim(text, &trimmedSize); - if (trimmedSize <= 0) - return ; - - auto retaddr = s->stack[8]; - //if ((*(DWORD *)retaddr & 0xffffff) == 0x0cc483) // 0041C295 83C4 0C ADD ESP,0xC - // role = Engine::ScenarioRole; - auto arg3 = s->stack[8 + 3]; - - - std::string oldData(trimmedText, trimmedSize); - - static const std::string zero_bytes(1, '\0'); - const char *zero_str = LCSE_0; - - bool containsZeros = false; - if (oldData.find('\0')!=oldData.npos) { - containsZeros = true; - strReplace(oldData, zero_bytes, zero_str); - //oldData.replace(zero_bytes, zero_str); - - // FIXME: There could be individual ascii letters before zeros (such as "k" and "n") - // They should be escaped here. - // Escaping not implemented since I am lazy. - } - std::string newData = std::string((char*)data,len1); - if (newData.empty() || newData == oldData) - return ; - - if (containsZeros) - strReplace(newData, zero_str, zero_bytes); - //newData.replace(zero_str, zero_bytes); - - int prefixSize = trimmedText - text, - suffixSize = size - prefixSize - trimmedSize; - if (prefixSize) - newData.insert(0,std::string(text, prefixSize)); - if (suffixSize) - newData.append(trimmedText + trimmedSize, suffixSize); - - data_ = newData; - s->eax = data_.size() + 1; - return ; - - } - bool hook2(hook_stack*s,void* data, size_t* len1,uintptr_t*role) - { - if (!data_.empty()) - s->esi = (ULONG)data_.c_str(); - return false; - } -} // namespace Private - -/** - * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ - * - * 0042FB1E CC INT3 - * 0042FB1F CC INT3 - * 0042FB20 6A FF PUSH -0x1 - * 0042FB22 68 18094800 PUSH lcsebody.00480918 - * 0042FB27 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] - * 0042FB2D 50 PUSH EAX - * 0042FB2E 64:8925 00000000 MOV DWORD PTR FS:[0],ESP - * 0042FB35 83EC 08 SUB ESP,0x8 - * 0042FB38 53 PUSH EBX - * 0042FB39 33DB XOR EBX,EBX - * 0042FB3B 56 PUSH ESI - * 0042FB3C 57 PUSH EDI - * 0042FB3D 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX - * 0042FB41 895C24 10 MOV DWORD PTR SS:[ESP+0x10],EBX - * 0042FB45 8B7424 24 MOV ESI,DWORD PTR SS:[ESP+0x24] ; jichi; arg1 - * 0042FB49 895C24 1C MOV DWORD PTR SS:[ESP+0x1C],EBX - * 0042FB4D 8B06 MOV EAX,DWORD PTR DS:[ESI] - * 0042FB4F 83F8 05 CMP EAX,0x5 - * 0042FB52 75 2F JNZ SHORT lcsebody.0042FB83 - * 0042FB54 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 0042FB57 8B3D E8234A00 MOV EDI,DWORD PTR DS:[0x4A23E8] - * 0042FB5D 3BF3 CMP ESI,EBX - * 0042FB5F 7C 08 JL SHORT lcsebody.0042FB69 - * 0042FB61 39B7 54290000 CMP DWORD PTR DS:[EDI+0x2954],ESI - * 0042FB67 7F 12 JG SHORT lcsebody.0042FB7B - * 0042FB69 53 PUSH EBX - * 0042FB6A 68 20F54800 PUSH lcsebody.0048F520 ; ASCII "err" - * 0042FB6F 68 F4F44800 PUSH lcsebody.0048F4F4 - * 0042FB74 53 PUSH EBX - * 0042FB75 FF15 EC874A00 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; user32.MessageBoxA - * 0042FB7B 8B87 74290000 MOV EAX,DWORD PTR DS:[EDI+0x2974] - * 0042FB81 EB 32 JMP SHORT lcsebody.0042FBB5 - * 0042FB83 83F8 08 CMP EAX,0x8 ; jichi: esi=arg1 jumped here - * 0042FB86 75 57 JNZ SHORT lcsebody.0042FBDF - * 0042FB88 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 0042FB8B 8B3D E8234A00 MOV EDI,DWORD PTR DS:[0x4A23E8] - * 0042FB91 3BF3 CMP ESI,EBX - * 0042FB93 7C 08 JL SHORT lcsebody.0042FB9D - * 0042FB95 39B7 60290000 CMP DWORD PTR DS:[EDI+0x2960],ESI - * 0042FB9B 7F 12 JG SHORT lcsebody.0042FBAF - * 0042FB9D 53 PUSH EBX - * 0042FB9E 68 20F54800 PUSH lcsebody.0048F520 ; ASCII "err" - * 0042FBA3 68 F4F44800 PUSH lcsebody.0048F4F4 - * 0042FBA8 53 PUSH EBX - * 0042FBA9 FF15 EC874A00 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; user32.MessageBoxA - * 0042FBAF 8B87 80290000 MOV EAX,DWORD PTR DS:[EDI+0x2980] - * 0042FBB5 8D34F0 LEA ESI,DWORD PTR DS:[EAX+ESI*8] - * 0042FBB8 8B06 MOV EAX,DWORD PTR DS:[ESI] - * 0042FBBA 50 PUSH EAX - * 0042FBBB 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX - * 0042FBBF E8 5E840000 CALL lcsebody.00438022 - * 0042FBC4 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] - * 0042FBC8 83C4 04 ADD ESP,0x4 - * 0042FBCB 8BD1 MOV EDX,ECX - * 0042FBCD 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX - * 0042FBD1 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 0042FBD4 8BF8 MOV EDI,EAX - * 0042FBD6 C1E9 02 SHR ECX,0x2 - * 0042FBD9 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> - * 0042FBDB 8BCA MOV ECX,EDX - * 0042FBDD EB 4D JMP SHORT lcsebody.0042FC2C - * 0042FBDF 83F8 02 CMP EAX,0x2 ; jichi: esi=arg1 jumped here - * 0042FBE2 0F85 A2000000 JNZ lcsebody.0042FC8A - * 0042FBE8 A1 E8234A00 MOV EAX,DWORD PTR DS:[0x4A23E8] ; jichi: text length here - * 0042FBED 8B56 04 MOV EDX,DWORD PTR DS:[ESI+0x4] - * 0042FBF0 8B88 44290000 MOV ECX,DWORD PTR DS:[EAX+0x2944] - * 0042FBF6 8B0411 MOV EAX,DWORD PTR DS:[ECX+EDX] - * - * 0042FBF9 50 PUSH EAX ; jichi: hook1, text length pushed, new function - * 0042FBFA 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX ; jichi: text length, is this the memory allocation - * 0042FBFE E8 1F840000 CALL lcsebody.00438022 - * - * 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here - * 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here - * 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] - * 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - * 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] - * 0042FC1A 8BF8 MOV EDI,EAX - * 0042FC1C 8BC1 MOV EAX,ECX - * 0042FC1E 83C4 04 ADD ESP,0x4 - * - * 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi - * 0042FC25 C1E9 02 SHR ECX,0x2 ; jichi: ecx is now the count, here, the rep function is blocked by 4 for performance - * 0042FC28 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS[ESI] ; jichi: text accessed here from esi to edi - * - * 0042FC2A 8BC8 MOV ECX,EAX - * 0042FC2C 8B5424 28 MOV EDX,DWORD PTR SS:[ESP+0x28] - * 0042FC30 83E1 03 AND ECX,0x3 - * 0042FC33 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] - * 0042FC35 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+0x2C] - * 0042FC39 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+0xC] - * 0042FC3D 51 PUSH ECX - * 0042FC3E 52 PUSH EDX - * 0042FC3F 50 PUSH EAX - * 0042FC40 E8 AB14FDFF CALL lcsebody.004010F0 - * 0042FC45 83C4 0C ADD ESP,0xC - * 0042FC48 C74424 1C FFFFFF>MOV DWORD PTR SS:[ESP+0x1C],-0x1 - * 0042FC50 84C0 TEST AL,AL - * 0042FC52 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+0x10] - * 0042FC56 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX - * 0042FC5A 74 21 JE SHORT lcsebody.0042FC7D - * 0042FC5C 3BC3 CMP EAX,EBX - * 0042FC5E 74 09 JE SHORT lcsebody.0042FC69 - * 0042FC60 50 PUSH EAX - * 0042FC61 E8 467E0000 CALL lcsebody.00437AAC - * 0042FC66 83C4 04 ADD ESP,0x4 - * 0042FC69 5F POP EDI - * 0042FC6A 5E POP ESI - * 0042FC6B B0 01 MOV AL,0x1 - * 0042FC6D 5B POP EBX - * 0042FC6E 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+0x8] - * 0042FC72 64:890D 00000000 MOV DWORD PTR FS:[0],ECX - * 0042FC79 83C4 14 ADD ESP,0x14 - * 0042FC7C C3 RETN - * 0042FC7D 3BC3 CMP EAX,EBX - * 0042FC7F 74 09 JE SHORT lcsebody.0042FC8A - * 0042FC81 50 PUSH EAX - * 0042FC82 E8 257E0000 CALL lcsebody.00437AAC - * 0042FC87 83C4 04 ADD ESP,0x4 - * 0042FC8A 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+0x14] - * 0042FC8E 5F POP EDI - * 0042FC8F 5E POP ESI - * 0042FC90 32C0 XOR AL,AL - * 0042FC92 5B POP EBX - * 0042FC93 64:890D 00000000 MOV DWORD PTR FS:[0],ECX - * 0042FC9A 83C4 14 ADD ESP,0x14 - * 0042FC9D C3 RETN - * 0042FC9E 90 NOP - * 0042FC9F 90 NOP - * 0042FCA0 CC INT3 - * 0042FCA1 CC INT3 - * 0042FCA2 CC INT3 - * 0042FCA3 CC INT3 - * 0042FCA4 CC INT3 - * 0042FCA5 CC INT3 - * 0042FCA6 CC INT3 - * - * Sample game: 姦獄学園 - * - * 00430CAB CC INT3 - * 00430CAC CC INT3 - * 00430CAD CC INT3 - * 00430CAE CC INT3 - * 00430CAF CC INT3 - * 00430CB0 6A FF PUSH -0x1 - * 00430CB2 68 08204800 PUSH .00482008 - * 00430CB7 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] - * 00430CBD 50 PUSH EAX - * 00430CBE 64:8925 00000000 MOV DWORD PTR FS:[0],ESP - * 00430CC5 83EC 08 SUB ESP,0x8 - * 00430CC8 53 PUSH EBX - * 00430CC9 33DB XOR EBX,EBX - * 00430CCB 56 PUSH ESI - * 00430CCC 57 PUSH EDI - * 00430CCD 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX - * 00430CD1 895C24 10 MOV DWORD PTR SS:[ESP+0x10],EBX - * 00430CD5 8B7424 24 MOV ESI,DWORD PTR SS:[ESP+0x24] - * 00430CD9 895C24 1C MOV DWORD PTR SS:[ESP+0x1C],EBX - * 00430CDD 8B06 MOV EAX,DWORD PTR DS:[ESI] - * 00430CDF 83F8 05 CMP EAX,0x5 - * 00430CE2 75 2F JNZ SHORT .00430D13 - * 00430CE4 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 00430CE7 8B3D 9C4E4A00 MOV EDI,DWORD PTR DS:[0x4A4E9C] - * 00430CED 3BF3 CMP ESI,EBX - * 00430CEF 7C 08 JL SHORT .00430CF9 - * 00430CF1 39B7 54310000 CMP DWORD PTR DS:[EDI+0x3154],ESI - * 00430CF7 7F 12 JG SHORT .00430D0B - * 00430CF9 53 PUSH EBX - * 00430CFA 68 98154900 PUSH .00491598 ; ASCII "err" - * 00430CFF 68 D8254900 PUSH .004925D8 - * 00430D04 53 PUSH EBX - * 00430D05 FF15 2CC84A00 CALL DWORD PTR DS:[0x4AC82C] ; user32.MessageBoxA - * 00430D0B 8B87 74310000 MOV EAX,DWORD PTR DS:[EDI+0x3174] - * 00430D11 EB 32 JMP SHORT .00430D45 - * 00430D13 83F8 08 CMP EAX,0x8 - * 00430D16 75 57 JNZ SHORT .00430D6F - * 00430D18 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 00430D1B 8B3D 9C4E4A00 MOV EDI,DWORD PTR DS:[0x4A4E9C] - * 00430D21 3BF3 CMP ESI,EBX - * 00430D23 7C 08 JL SHORT .00430D2D - * 00430D25 39B7 60310000 CMP DWORD PTR DS:[EDI+0x3160],ESI - * 00430D2B 7F 12 JG SHORT .00430D3F - * 00430D2D 53 PUSH EBX - * 00430D2E 68 98154900 PUSH .00491598 ; ASCII "err" - * 00430D33 68 AC254900 PUSH .004925AC - * 00430D38 53 PUSH EBX - * 00430D39 FF15 2CC84A00 CALL DWORD PTR DS:[0x4AC82C] ; user32.MessageBoxA - * 00430D3F 8B87 80310000 MOV EAX,DWORD PTR DS:[EDI+0x3180] - * 00430D45 8D34F0 LEA ESI,DWORD PTR DS:[EAX+ESI*8] - * 00430D48 8B06 MOV EAX,DWORD PTR DS:[ESI] - * 00430D4A 50 PUSH EAX - * 00430D4B 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX - * 00430D4F E8 BE890000 CALL .00439712 - * 00430D54 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] - * 00430D58 83C4 04 ADD ESP,0x4 - * 00430D5B 8BD1 MOV EDX,ECX - * 00430D5D 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX - * 00430D61 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 00430D64 8BF8 MOV EDI,EAX - * 00430D66 C1E9 02 SHR ECX,0x2 - * 00430D69 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> - * 00430D6B 8BCA MOV ECX,EDX - * 00430D6D EB 4D JMP SHORT .00430DBC - * 00430D6F 83F8 02 CMP EAX,0x2 - * 00430D72 0F85 A2000000 JNZ .00430E1A - * 00430D78 A1 9C4E4A00 MOV EAX,DWORD PTR DS:[0x4A4E9C] - * 00430D7D 8B56 04 MOV EDX,DWORD PTR DS:[ESI+0x4] - * 00430D80 8B88 44310000 MOV ECX,DWORD PTR DS:[EAX+0x3144] - * 00430D86 8B0411 MOV EAX,DWORD PTR DS:[ECX+EDX] - * 00430D89 50 PUSH EAX - * 00430D8A 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX - * 00430D8E E8 7F890000 CALL .00439712 - * 00430D93 8B15 9C4E4A00 MOV EDX,DWORD PTR DS:[0x4A4E9C] - * 00430D99 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] - * 00430D9D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] - * 00430DA0 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - * 00430DA4 8B92 44310000 MOV EDX,DWORD PTR DS:[EDX+0x3144] - * 00430DAA 8BF8 MOV EDI,EAX - * 00430DAC 8BC1 MOV EAX,ECX - * 00430DAE 83C4 04 ADD ESP,0x4 - * 00430DB1 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: the other game's access point - * 00430DB5 C1E9 02 SHR ECX,0x2 - * 00430DB8 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] - * 00430DBA 8BC8 MOV ECX,EAX - * 00430DBC 8B5424 28 MOV EDX,DWORD PTR SS:[ESP+0x28] - * 00430DC0 83E1 03 AND ECX,0x3 - * 00430DC3 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] - * 00430DC5 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+0x2C] - * 00430DC9 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+0xC] - * 00430DCD 51 PUSH ECX - * 00430DCE 52 PUSH EDX - * 00430DCF 50 PUSH EAX - * 00430DD0 E8 2503FDFF CALL .004010FA - * 00430DD5 83C4 0C ADD ESP,0xC - * 00430DD8 C74424 1C FFFFFF>MOV DWORD PTR SS:[ESP+0x1C],-0x1 - * 00430DE0 84C0 TEST AL,AL - * 00430DE2 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+0x10] - * 00430DE6 895C24 0C MOV DWORD PTR SS:[ESP+0xC],EBX - * 00430DEA 74 21 JE SHORT .00430E0D - * 00430DEC 3BC3 CMP EAX,EBX - * 00430DEE 74 09 JE SHORT .00430DF9 - * 00430DF0 50 PUSH EAX - * 00430DF1 E8 A6830000 CALL .0043919C - * 00430DF6 83C4 04 ADD ESP,0x4 - * 00430DF9 5F POP EDI - * 00430DFA 5E POP ESI - * 00430DFB B0 01 MOV AL,0x1 - * 00430DFD 5B POP EBX - * 00430DFE 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+0x8] - * 00430E02 64:890D 00000000 MOV DWORD PTR FS:[0],ECX - * 00430E09 83C4 14 ADD ESP,0x14 - * 00430E0C C3 RETN - * 00430E0D 3BC3 CMP EAX,EBX - * 00430E0F 74 09 JE SHORT .00430E1A - * 00430E11 50 PUSH EAX - * 00430E12 E8 85830000 CALL .0043919C - * 00430E17 83C4 04 ADD ESP,0x4 - * 00430E1A 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+0x14] - * 00430E1E 5F POP EDI - * 00430E1F 5E POP ESI - * 00430E20 32C0 XOR AL,AL - * 00430E22 5B POP EBX - * 00430E23 64:890D 00000000 MOV DWORD PTR FS:[0],ECX - * 00430E2A 83C4 14 ADD ESP,0x14 - * 00430E2D C3 RETN - * 00430E2E 90 NOP - * 00430E2F 90 NOP - * 00430E30 CC INT3 - * 00430E31 CC INT3 - * 00430E32 CC INT3 - * 00430E33 CC INT3 - * 00430E34 CC INT3 - */ -bool isLeadByteChar(const char *s) - { - return dynsjis::isleadstr(s); - //return ::IsDBCSLeadByte(HIBYTE(testChar)); - } -bool attach(ULONG startAddress, ULONG stopAddress,ULONG dyna) -{ - const uint8_t bytes[] = { - 0x8d,0x74,0x32, 0x04, // 0042fc21 8d7432 04 lea esi,dword ptr ds:[edx+esi+0x4] - 0xc1,0xe9, 0x02, // 0042fc25 c1e9 02 shr ecx,0x2 - 0xf3,0xa5 // 0042fc28 f3:a5 rep movs dword ptr es:[edi],dword ptr ds[esi] ; jichi: text accessed here from esi to edi - }; - ULONG addr2 = MemDbg::findBytes(bytes, sizeof(bytes), startAddress, stopAddress); - if (!addr2) - return false; - - // 0042FBF9 50 PUSH EAX ; jichi: hook1, text length pushed, new function - // 0042FBFA 894424 10 MOV DWORD PTR SS:[ESP+0x10],EAX ; jichi: text length, is this the memory allocation? - // 0042FBFE E8 1F840000 CALL lcsebody.00438022 - // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here - // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here - // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] - // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: base addr, [[0x4A23E8] + 0x2944] - // 0042FC1A 8BF8 MOV EDI,EAX - // 0042FC1C 8BC1 MOV EAX,ECX - // 0042FC1E 83C4 04 ADD ESP,0x4 - // - // 0042FC21 8D7432 04 LEA ESI,DWORD PTR DS:[EDX+ESI+0x4] ; jichi: hook2, text in esi - // 0042FC25 C1E9 02 SHR ECX,0x2 ; jichi: ecx is now the count, here, the rep function is blocked by 4 for performance - // 0042FC28 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS[ESI] ; jichi: text accessed here from esi to edi - ULONG addr1 = addr2 + 0x0042fbf9 - 0x0042fc21; - if (*(BYTE *)addr1 != 0x50) // push_eax - return false; - - // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] ; jichi: text here - // 0042FC09 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+0x10] ; jichi: count is here - // 0042FC0D 8B76 04 MOV ESI,DWORD PTR DS:[ESI+0x4] ; jichi: [arg1+4] - // 0042FC10 894424 14 MOV DWORD PTR SS:[ESP+0x14],EAX - // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] ; jichi: offset addr, [[0x4A23E8] + 0x2944] - { - ULONG addr = addr2 + 0x0042fc03 - 0x0042fc21; - if (*(WORD *)addr != 0x158b) // 0042FC03 8B15 E8234A00 MOV EDX,DWORD PTR DS:[0x4A23E8] - return false; - addr += 2; - Private::textBaseAddress_ = *(DWORD *)addr; - } - { - ULONG addr = addr2 + 0x0042fc14 - 0x0042fc21; - if (*(WORD *)addr != 0x928b) // 0042FC14 8B92 44290000 MOV EDX,DWORD PTR DS:[EDX+0x2944] - return false; - addr += 2; - Private::textOffset_ = *(DWORD *)addr; - } - HookParam hp; - hp.address=addr1; - hp.hook_before=Private::hook1; - hp.hook_after=Private::hookafter; - hp.type=EMBED_ABLE; - hp.newlineseperator=L"\x01"; - hp.hook_font=F_GetGlyphOutlineA; - if(dyna){ - static ULONG dynas; - dynas=dyna; - hp.type|=EMBED_DYNA_SJIS; - hp.hook_font=F_GetGlyphOutlineA; - patch_fun=[](){ - ReplaceFunction((PVOID*)&dynas, (PVOID)(ULONG)isLeadByteChar); - dynamiccodec->setMinimumSecondByte(6);//// skip 0x1,0x2,0x3 in case dynamic encoding could crash the game - }; - } - auto succ=NewHook(hp,"EmbedLCSE"); - hp.address=addr2+4; - hp.hook_before=Private::hook2; - hp.type=EMBED_ABLE|HOOK_EMPTY; - succ|=NewHook(hp,"EmbedLCSE"); - return succ; -} -} // namespace ScenarioHook - -namespace Patch { - -namespace Private { - bool isLeadByteChar(const char *s) - { - return dynsjis::isleadstr(s); - //return ::IsDBCSLeadByte(HIBYTE(testChar)); - } - -} // namespace Private - -/** - * Sample game: 春恋*乙女~乙女の園でごきげんよう。~ - * - * Debugging method: Find text in memory, and then insert hardware breakpoint. - * It will be accessed only ONCE in the following function. - * - * This function can also be found by searching the following instruction: - * 0040A389 3C 81 CMP AL,0x81 - * - * This function is very similar to that in CatSystem2. - * - * 0040A37E CC INT3 - * 0040A37F CC INT3 - * 0040A380 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+0x4] - * 0040A384 8A01 MOV AL,BYTE PTR DS:[ECX] ; jichi: first byte - * 0040A386 8A49 01 MOV CL,BYTE PTR DS:[ECX+0x1] ; jichi: second byte - * 0040A389 3C 81 CMP AL,0x81 - * 0040A38B 72 04 JB SHORT lcsebody.0040A391 - * 0040A38D 3C 9F CMP AL,0x9F - * 0040A38F 76 08 JBE SHORT lcsebody.0040A399 - * 0040A391 3C E0 CMP AL,0xE0 - * 0040A393 72 1B JB SHORT lcsebody.0040A3B0 - * 0040A395 3C FC CMP AL,0xFC - * 0040A397 77 17 JA SHORT lcsebody.0040A3B0 - * 0040A399 80F9 40 CMP CL,0x40 - * 0040A39C 72 05 JB SHORT lcsebody.0040A3A3 - * 0040A39E 80F9 7E CMP CL,0x7E - * 0040A3A1 76 0A JBE SHORT lcsebody.0040A3AD - * 0040A3A3 80F9 80 CMP CL,0x80 - * 0040A3A6 72 08 JB SHORT lcsebody.0040A3B0 - * 0040A3A8 80F9 FC CMP CL,0xFC - * 0040A3AB 77 03 JA SHORT lcsebody.0040A3B0 - * 0040A3AD B0 01 MOV AL,0x1 - * 0040A3AF C3 RETN - * 0040A3B0 32C0 XOR AL,AL - * 0040A3B2 C3 RETN - * 0040A3B3 90 NOP - * 0040A3B4 90 NOP - * 0040A3B5 90 NOP - * 0040A3B6 90 NOP - * - * This function is found by tracing the caller of GetGlyphOutlineA, as follows: - * - * 00416B6B CC INT3 - * 00416B6C CC INT3 - * 00416B6D CC INT3 - * 00416B6E CC INT3 - * 00416B6F CC INT3 - * 00416B70 83EC 08 SUB ESP,0x8 - * 00416B73 53 PUSH EBX - * 00416B74 56 PUSH ESI - * 00416B75 8BF1 MOV ESI,ECX - * 00416B77 33DB XOR EBX,EBX ; jichi: zero ebx - * 00416B79 57 PUSH EDI - * 00416B7A 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] - * 00416B80 8A9430 08010000 MOV DL,BYTE PTR DS:[EAX+ESI+0x108] ; jichi: byte accessed here - * 00416B87 8D8C30 08010000 LEA ECX,DWORD PTR DS:[EAX+ESI+0x108] ; jichi: byte accessed here - * 00416B8E 3AD3 CMP DL,BL ; jichi: bl is zero, dl is the current byte - * 00416B90 75 0C JNZ SHORT lcsebody.00416B9E - * 00416B92 B8 FF000000 MOV EAX,0xFF - * 00416B97 5F POP EDI - * 00416B98 5E POP ESI - * 00416B99 5B POP EBX - * 00416B9A 83C4 08 ADD ESP,0x8 - * 00416B9D C3 RETN - * 00416B9E 8B96 F0000000 MOV EDX,DWORD PTR DS:[ESI+0xF0] - * 00416BA4 4A DEC EDX - * 00416BA5 3BC2 CMP EAX,EDX - * 00416BA7 0F8D 31010000 JGE lcsebody.00416CDE - * 00416BAD 51 PUSH ECX - * 00416BAE E8 31B1FEFF CALL lcsebody.00401CE4 ; jichi: ecx point to the current character, return 0 or 1 - * 00416BB3 83C4 04 ADD ESP,0x4 - * 00416BB6 84C0 TEST AL,AL - * 00416BB8 0F84 20010000 JE lcsebody.00416CDE ; jichi: wrong here - * 00416BBE 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] - * 00416BC4 33C9 XOR ECX,ECX - * 00416BC6 03C6 ADD EAX,ESI - * 00416BC8 889E 20050000 MOV BYTE PTR DS:[ESI+0x520],BL - * 00416BCE 8AA8 08010000 MOV CH,BYTE PTR DS:[EAX+0x108] ; jichi: high bits - * 00416BD4 8A88 09010000 MOV CL,BYTE PTR DS:[EAX+0x109] - * 00416BDA 8BF9 MOV EDI,ECX ; jichi: low bits, edi is now the full character - * 00416BDC 8BCE MOV ECX,ESI ; jichi: recover ecx to esi - * 00416BDE E8 13AEFEFF CALL lcsebody.004019F6 ; jichi: eax is zero when edi is legal - * 00416BE3 3BC3 CMP EAX,EBX ; jichi: ebx is always zero as well - * 00416BE5 74 4A JE SHORT lcsebody.00416C31 - * 00416BE7 389E 2C050000 CMP BYTE PTR DS:[ESI+0x52C],BL - * 00416BED 0F84 9A020000 JE lcsebody.00416E8D - * 00416BF3 389E 20050000 CMP BYTE PTR DS:[ESI+0x520],BL - * 00416BF9 74 1B JE SHORT lcsebody.00416C16 - * 00416BFB B9 34F14800 MOV ECX,lcsebody.0048F134 - * 00416C00 3B39 CMP EDI,DWORD PTR DS:[ECX] - * 00416C02 74 2D JE SHORT lcsebody.00416C31 - * 00416C04 83C1 04 ADD ECX,0x4 - * 00416C07 81F9 50F14800 CMP ECX,lcsebody.0048F150 - * 00416C0D ^7C F1 JL SHORT lcsebody.00416C00 - * 00416C0F 5F POP EDI - * 00416C10 5E POP ESI - * 00416C11 5B POP EBX - * 00416C12 83C4 08 ADD ESP,0x8 - * 00416C15 C3 RETN - * 00416C16 B9 00F14800 MOV ECX,lcsebody.0048F100 - * 00416C1B 3B39 CMP EDI,DWORD PTR DS:[ECX] - * 00416C1D 74 12 JE SHORT lcsebody.00416C31 - * 00416C1F 83C1 04 ADD ECX,0x4 - * 00416C22 81F9 34F14800 CMP ECX,lcsebody.0048F134 - * 00416C28 ^7C F1 JL SHORT lcsebody.00416C1B - * 00416C2A 5F POP EDI - * 00416C2B 5E POP ESI - * 00416C2C 5B POP EBX - * 00416C2D 83C4 08 ADD ESP,0x8 - * 00416C30 C3 RETN - * 00416C31 8A8E 20050000 MOV CL,BYTE PTR DS:[ESI+0x520] - * 00416C37 3ACB CMP CL,BL - * 00416C39 74 15 JE SHORT lcsebody.00416C50 - * 00416C3B B8 70F14800 MOV EAX,lcsebody.0048F170 - * 00416C40 3B38 CMP EDI,DWORD PTR DS:[EAX] - * 00416C42 74 21 JE SHORT lcsebody.00416C65 - * 00416C44 83C0 04 ADD EAX,0x4 - * 00416C47 3D 7CF14800 CMP EAX,lcsebody.0048F17C - * 00416C4C ^7C F2 JL SHORT lcsebody.00416C40 - * 00416C4E EB 1B JMP SHORT lcsebody.00416C6B - * 00416C50 B8 50F14800 MOV EAX,lcsebody.0048F150 - * 00416C55 3B38 CMP EDI,DWORD PTR DS:[EAX] ; jichi: compare current wide character with a threshold (0x8169 = "(") - * 00416C57 74 0C JE SHORT lcsebody.00416C65 - * 00416C59 83C0 04 ADD EAX,0x4 - * 00416C5C 3D 70F14800 CMP EAX,lcsebody.0048F170 - * 00416C61 ^7C F2 JL SHORT lcsebody.00416C55 - * 00416C63 EB 06 JMP SHORT lcsebody.00416C6B - * 00416C65 FF86 24050000 INC DWORD PTR DS:[ESI+0x524] - * 00416C6B 3ACB CMP CL,BL - * 00416C6D 74 15 JE SHORT lcsebody.00416C84 - * 00416C6F B8 9CF14800 MOV EAX,lcsebody.0048F19C - * 00416C74 3B38 CMP EDI,DWORD PTR DS:[EAX] - * 00416C76 74 21 JE SHORT lcsebody.00416C99 - * 00416C78 83C0 04 ADD EAX,0x4 - * 00416C7B 3D A8F14800 CMP EAX,lcsebody.0048F1A8 - * 00416C80 ^7C F2 JL SHORT lcsebody.00416C74 - * 00416C82 EB 2A JMP SHORT lcsebody.00416CAE - * 00416C84 B8 7CF14800 MOV EAX,lcsebody.0048F17C - * 00416C89 3B38 CMP EDI,DWORD PTR DS:[EAX] - * 00416C8B 74 0C JE SHORT lcsebody.00416C99 - * 00416C8D 83C0 04 ADD EAX,0x4 - * 00416C90 3D 9CF14800 CMP EAX,lcsebody.0048F19C - * 00416C95 ^7C F2 JL SHORT lcsebody.00416C89 - * 00416C97 EB 15 JMP SHORT lcsebody.00416CAE - * 00416C99 8B86 24050000 MOV EAX,DWORD PTR DS:[ESI+0x524] - * 00416C9F 48 DEC EAX - * 00416CA0 8986 24050000 MOV DWORD PTR DS:[ESI+0x524],EAX - * 00416CA6 79 06 JNS SHORT lcsebody.00416CAE - * 00416CA8 899E 24050000 MOV DWORD PTR DS:[ESI+0x524],EBX - * 00416CAE 57 PUSH EDI - * 00416CAF 8BCE MOV ECX,ESI - * 00416CB1 E8 20A5FEFF CALL lcsebody.004011D6 - * 00416CB6 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] - * 00416CBC 8A9430 08010000 MOV DL,BYTE PTR DS:[EAX+ESI+0x108] - * 00416CC3 83C0 02 ADD EAX,0x2 - * 00416CC6 885424 0C MOV BYTE PTR SS:[ESP+0xC],DL - * 00416CCA 8A8C30 07010000 MOV CL,BYTE PTR DS:[EAX+ESI+0x107] - * 00416CD1 884C24 0D MOV BYTE PTR SS:[ESP+0xD],CL - * 00416CD5 885C24 0E MOV BYTE PTR SS:[ESP+0xE],BL - * 00416CD9 E9 77010000 JMP lcsebody.00416E55 - * 00416CDE 8B96 EC000000 MOV EDX,DWORD PTR DS:[ESI+0xEC] - * 00416CE4 C686 20050000 01 MOV BYTE PTR DS:[ESI+0x520],0x1 - * 00416CEB 8A8C16 08010000 MOV CL,BYTE PTR DS:[ESI+EDX+0x108] - * 00416CF2 8D8416 08010000 LEA EAX,DWORD PTR DS:[ESI+EDX+0x108] - * 00416CF9 80F9 1F CMP CL,0x1F - * 00416CFC 77 54 JA SHORT lcsebody.00416D52 - * 00416CFE 80F9 03 CMP CL,0x3 - * 00416D01 75 06 JNZ SHORT lcsebody.00416D09 - * 00416D03 899E 28050000 MOV DWORD PTR DS:[ESI+0x528],EBX - * 00416D09 8A00 MOV AL,BYTE PTR DS:[EAX] - * 00416D0B 83EC 0C SUB ESP,0xC - * 00416D0E 8D5424 18 LEA EDX,DWORD PTR SS:[ESP+0x18] - * 00416D12 8BCC MOV ECX,ESP - * 00416D14 896424 1C MOV DWORD PTR SS:[ESP+0x1C],ESP - * 00416D18 8DBE FC000000 LEA EDI,DWORD PTR DS:[ESI+0xFC] - * 00416D1E 52 PUSH EDX - * 00416D1F 51 PUSH ECX - * 00416D20 8BCF MOV ECX,EDI - * 00416D22 884424 20 MOV BYTE PTR SS:[ESP+0x20],AL - * 00416D26 885C24 21 MOV BYTE PTR SS:[ESP+0x21],BL - * 00416D2A E8 D0A8FEFF CALL lcsebody.004015FF - * 00416D2F 8BCF MOV ECX,EDI - * 00416D31 E8 A1A8FEFF CALL lcsebody.004015D7 - * 00416D36 8B8E EC000000 MOV ECX,DWORD PTR DS:[ESI+0xEC] - * 00416D3C 0FBE8431 0801000> MOVSX EAX,BYTE PTR DS:[ECX+ESI+0x108] - * 00416D44 41 INC ECX - * 00416D45 898E EC000000 MOV DWORD PTR DS:[ESI+0xEC],ECX - * 00416D4B 5F POP EDI - * 00416D4C 5E POP ESI - * 00416D4D 5B POP EBX - * 00416D4E 83C4 08 ADD ESP,0x8 - * 00416D51 C3 RETN - * 00416D52 8BCE MOV ECX,ESI - * 00416D54 E8 9DACFEFF CALL lcsebody.004019F6 - * 00416D59 3BC3 CMP EAX,EBX - * 00416D5B 74 4A JE SHORT lcsebody.00416DA7 - * 00416D5D 389E 2C050000 CMP BYTE PTR DS:[ESI+0x52C],BL - * 00416D63 0F84 24010000 JE lcsebody.00416E8D - * 00416D69 389E 20050000 CMP BYTE PTR DS:[ESI+0x520],BL - * 00416D6F 74 1B JE SHORT lcsebody.00416D8C - * 00416D71 B9 34F14800 MOV ECX,lcsebody.0048F134 - * 00416D76 3919 CMP DWORD PTR DS:[ECX],EBX - * 00416D78 74 2D JE SHORT lcsebody.00416DA7 - * 00416D7A 83C1 04 ADD ECX,0x4 - * 00416D7D 81F9 50F14800 CMP ECX,lcsebody.0048F150 - * 00416D83 ^7C F1 JL SHORT lcsebody.00416D76 - * 00416D85 5F POP EDI - * 00416D86 5E POP ESI - * 00416D87 5B POP EBX - * 00416D88 83C4 08 ADD ESP,0x8 - * 00416D8B C3 RETN - * 00416D8C B9 00F14800 MOV ECX,lcsebody.0048F100 - * 00416D91 3919 CMP DWORD PTR DS:[ECX],EBX - * 00416D93 74 12 JE SHORT lcsebody.00416DA7 - * 00416D95 83C1 04 ADD ECX,0x4 - * 00416D98 81F9 34F14800 CMP ECX,lcsebody.0048F134 - * 00416D9E ^7C F1 JL SHORT lcsebody.00416D91 - * 00416DA0 5F POP EDI - * 00416DA1 5E POP ESI - * 00416DA2 5B POP EBX - * 00416DA3 83C4 08 ADD ESP,0x8 - * 00416DA6 C3 RETN - * 00416DA7 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] - * 00416DAD 8A96 20050000 MOV DL,BYTE PTR DS:[ESI+0x520] - * 00416DB3 0FBEBC06 08010000 MOVSX EDI,BYTE PTR DS:[ESI+EAX+0x108] ; jichi: edi get assigned to the illegal character - * 00416DBB 8BCF MOV ECX,EDI - * 00416DBD C1E1 08 SHL ECX,0x8 - * 00416DC0 3AD3 CMP DL,BL - * 00416DC2 74 15 JE SHORT lcsebody.00416DD9 - * 00416DC4 B8 70F14800 MOV EAX,lcsebody.0048F170 - * 00416DC9 3B08 CMP ECX,DWORD PTR DS:[EAX] - * 00416DCB 74 21 JE SHORT lcsebody.00416DEE - * 00416DCD 83C0 04 ADD EAX,0x4 - * 00416DD0 3D 7CF14800 CMP EAX,lcsebody.0048F17C - * 00416DD5 ^7C F2 JL SHORT lcsebody.00416DC9 - * 00416DD7 EB 1B JMP SHORT lcsebody.00416DF4 - * 00416DD9 B8 50F14800 MOV EAX,lcsebody.0048F150 - * 00416DDE 3B08 CMP ECX,DWORD PTR DS:[EAX] - * 00416DE0 74 0C JE SHORT lcsebody.00416DEE - * 00416DE2 83C0 04 ADD EAX,0x4 - * 00416DE5 3D 70F14800 CMP EAX,lcsebody.0048F170 - * 00416DEA ^7C F2 JL SHORT lcsebody.00416DDE - * 00416DEC EB 06 JMP SHORT lcsebody.00416DF4 - * 00416DEE FF86 24050000 INC DWORD PTR DS:[ESI+0x524] - * 00416DF4 3AD3 CMP DL,BL - * 00416DF6 74 15 JE SHORT lcsebody.00416E0D - * 00416DF8 B8 9CF14800 MOV EAX,lcsebody.0048F19C - * 00416DFD 3B08 CMP ECX,DWORD PTR DS:[EAX] - * 00416DFF 74 21 JE SHORT lcsebody.00416E22 - * 00416E01 83C0 04 ADD EAX,0x4 - * 00416E04 3D A8F14800 CMP EAX,lcsebody.0048F1A8 - * 00416E09 ^7C F2 JL SHORT lcsebody.00416DFD - * 00416E0B EB 2A JMP SHORT lcsebody.00416E37 - * 00416E0D B8 7CF14800 MOV EAX,lcsebody.0048F17C - * 00416E12 3B08 CMP ECX,DWORD PTR DS:[EAX] - * 00416E14 74 0C JE SHORT lcsebody.00416E22 - * 00416E16 83C0 04 ADD EAX,0x4 - * 00416E19 3D 9CF14800 CMP EAX,lcsebody.0048F19C - * 00416E1E ^7C F2 JL SHORT lcsebody.00416E12 - * 00416E20 EB 15 JMP SHORT lcsebody.00416E37 - * 00416E22 8B86 24050000 MOV EAX,DWORD PTR DS:[ESI+0x524] - * 00416E28 48 DEC EAX - * 00416E29 8986 24050000 MOV DWORD PTR DS:[ESI+0x524],EAX - * 00416E2F 79 06 JNS SHORT lcsebody.00416E37 - * 00416E31 899E 24050000 MOV DWORD PTR DS:[ESI+0x524],EBX - * 00416E37 57 PUSH EDI ; jichi: invalid character - * 00416E38 8BCE MOV ECX,ESI - * 00416E3A E8 97A3FEFF CALL lcsebody.004011D6 ; jichi: char in arg1 - * 00416E3F 8B86 EC000000 MOV EAX,DWORD PTR DS:[ESI+0xEC] - */ - -ULONG patchEncoding(ULONG startAddress, ULONG stopAddress) -{ - const uint8_t bytes[] = { - 0x8b,0x4c,0x24, 0x04, // 0040a380 8b4c24 04 mov ecx,dword ptr ss:[esp+0x4] - 0x8a,0x01, // 0040a384 8a01 mov al,byte ptr ds:[ecx] - 0x8a,0x49, 0x01, // 0040a386 8a49 01 mov cl,byte ptr ds:[ecx+0x1] - 0x3c, 0x81 // 0040a389 3c 81 cmp al,0x81 - }; - ULONG addr = MemDbg::findBytes(bytes, sizeof(bytes), startAddress, stopAddress); - return addr;// && winhook::replace_fun(addr, (ULONG)Private::isLeadByteChar); -} - -} // namespace Patch + } // namespace Patch } // unnamed namespace bool LCScript::attach_function() -{ - - if (!ScenarioHook::attach(processStartAddress, processStopAddress,Patch::patchEncoding(processStartAddress, processStopAddress))) +{ + + if (!ScenarioHook::attach(processStartAddress, processStopAddress, Patch::patchEncoding(processStartAddress, processStopAddress))) return false; - + return true; } \ No newline at end of file diff --git a/LunaHook/pchhook.h b/LunaHook/pchhook.h index f093660..184fb6e 100644 --- a/LunaHook/pchhook.h +++ b/LunaHook/pchhook.h @@ -21,7 +21,6 @@ enum #include "disasm/disasm.h" #include "engine.h" #include "embed_util.h" -#include "detours.h" #include "hijackfuns.h" #include "Lang/Lang.h" diff --git a/libs/Detours-4.0.1/include/detours.h b/libs/Detours-4.0.1/include/detours.h deleted file mode 100644 index fe7acf1..0000000 --- a/libs/Detours-4.0.1/include/detours.h +++ /dev/null @@ -1,1059 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// Core Detours Functionality (detours.h of detours.lib) -// -// Microsoft Research Detours Package, Version 4.0.1 -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// - -#pragma once -#ifndef _DETOURS_H_ -#define _DETOURS_H_ - -#define DETOURS_VERSION 0x4c0c1 // 0xMAJORcMINORcPATCH - -////////////////////////////////////////////////////////////////////////////// -// - -#undef DETOURS_X64 -#undef DETOURS_X86 -#undef DETOURS_IA64 -#undef DETOURS_ARM -#undef DETOURS_ARM64 -#undef DETOURS_BITS -#undef DETOURS_32BIT -#undef DETOURS_64BIT - -#if defined(_X86_) -#define DETOURS_X86 -#define DETOURS_OPTION_BITS 64 - -#elif defined(_AMD64_) -#define DETOURS_X64 -#define DETOURS_OPTION_BITS 32 - -#elif defined(_IA64_) -#define DETOURS_IA64 -#define DETOURS_OPTION_BITS 32 - -#elif defined(_ARM_) -#define DETOURS_ARM - -#elif defined(_ARM64_) -#define DETOURS_ARM64 - -#else -#error Unknown architecture (x86, amd64, ia64, arm, arm64) -#endif - -#ifdef _WIN64 -#undef DETOURS_32BIT -#define DETOURS_64BIT 1 -#define DETOURS_BITS 64 -// If all 64bit kernels can run one and only one 32bit architecture. -//#define DETOURS_OPTION_BITS 32 -#else -#define DETOURS_32BIT 1 -#undef DETOURS_64BIT -#define DETOURS_BITS 32 -// If all 64bit kernels can run one and only one 32bit architecture. -//#define DETOURS_OPTION_BITS 32 -#endif - -#define VER_DETOURS_BITS DETOUR_STRINGIFY(DETOURS_BITS) - -////////////////////////////////////////////////////////////////////////////// -// - -#if (_MSC_VER < 1299) -typedef LONG LONG_PTR; -typedef ULONG ULONG_PTR; -#endif - -///////////////////////////////////////////////// SAL 2.0 Annotations w/o SAL. -// -// These definitions are include so that Detours will build even if the -// compiler doesn't have full SAL 2.0 support. -// -#ifndef DETOURS_DONT_REMOVE_SAL_20 - -#ifdef DETOURS_TEST_REMOVE_SAL_20 -#undef _Analysis_assume_ -#undef _Benign_race_begin_ -#undef _Benign_race_end_ -#undef _Field_range_ -#undef _Field_size_ -#undef _In_ -#undef _In_bytecount_ -#undef _In_count_ -#undef _In_opt_ -#undef _In_opt_bytecount_ -#undef _In_opt_count_ -#undef _In_opt_z_ -#undef _In_range_ -#undef _In_reads_ -#undef _In_reads_bytes_ -#undef _In_reads_opt_ -#undef _In_reads_opt_bytes_ -#undef _In_reads_or_z_ -#undef _In_z_ -#undef _Inout_ -#undef _Inout_opt_ -#undef _Inout_z_count_ -#undef _Out_ -#undef _Out_opt_ -#undef _Out_writes_ -#undef _Outptr_result_maybenull_ -#undef _Readable_bytes_ -#undef _Success_ -#undef _Writable_bytes_ -#undef _Pre_notnull_ -#endif - -#if defined(_Deref_out_opt_z_) && !defined(_Outptr_result_maybenull_) -#define _Outptr_result_maybenull_ _Deref_out_opt_z_ -#endif - -#if defined(_In_count_) && !defined(_In_reads_) -#define _In_reads_(x) _In_count_(x) -#endif - -#if defined(_In_opt_count_) && !defined(_In_reads_opt_) -#define _In_reads_opt_(x) _In_opt_count_(x) -#endif - -#if defined(_In_opt_bytecount_) && !defined(_In_reads_opt_bytes_) -#define _In_reads_opt_bytes_(x) _In_opt_bytecount_(x) -#endif - -#if defined(_In_bytecount_) && !defined(_In_reads_bytes_) -#define _In_reads_bytes_(x) _In_bytecount_(x) -#endif - -#ifndef _In_ -#define _In_ -#endif - -#ifndef _In_bytecount_ -#define _In_bytecount_(x) -#endif - -#ifndef _In_count_ -#define _In_count_(x) -#endif - -#ifndef _In_opt_ -#define _In_opt_ -#endif - -#ifndef _In_opt_bytecount_ -#define _In_opt_bytecount_(x) -#endif - -#ifndef _In_opt_count_ -#define _In_opt_count_(x) -#endif - -#ifndef _In_opt_z_ -#define _In_opt_z_ -#endif - -#ifndef _In_range_ -#define _In_range_(x,y) -#endif - -#ifndef _In_reads_ -#define _In_reads_(x) -#endif - -#ifndef _In_reads_bytes_ -#define _In_reads_bytes_(x) -#endif - -#ifndef _In_reads_opt_ -#define _In_reads_opt_(x) -#endif - -#ifndef _In_reads_opt_bytes_ -#define _In_reads_opt_bytes_(x) -#endif - -#ifndef _In_reads_or_z_ -#define _In_reads_or_z_ -#endif - -#ifndef _In_z_ -#define _In_z_ -#endif - -#ifndef _Inout_ -#define _Inout_ -#endif - -#ifndef _Inout_opt_ -#define _Inout_opt_ -#endif - -#ifndef _Inout_z_count_ -#define _Inout_z_count_(x) -#endif - -#ifndef _Out_ -#define _Out_ -#endif - -#ifndef _Out_opt_ -#define _Out_opt_ -#endif - -#ifndef _Out_writes_ -#define _Out_writes_(x) -#endif - -#ifndef _Outptr_result_maybenull_ -#define _Outptr_result_maybenull_ -#endif - -#ifndef _Writable_bytes_ -#define _Writable_bytes_(x) -#endif - -#ifndef _Readable_bytes_ -#define _Readable_bytes_(x) -#endif - -#ifndef _Success_ -#define _Success_(x) -#endif - -#ifndef _Pre_notnull_ -#define _Pre_notnull_ -#endif - -#ifdef DETOURS_INTERNAL - -#pragma warning(disable:4615) // unknown warning type (suppress with older compilers) - -#ifndef _Benign_race_begin_ -#define _Benign_race_begin_ -#endif - -#ifndef _Benign_race_end_ -#define _Benign_race_end_ -#endif - -#ifndef _Field_size_ -#define _Field_size_(x) -#endif - -#ifndef _Field_range_ -#define _Field_range_(x,y) -#endif - -#ifndef _Analysis_assume_ -#define _Analysis_assume_(x) -#endif - -#endif // DETOURS_INTERNAL -#endif // DETOURS_DONT_REMOVE_SAL_20 - -////////////////////////////////////////////////////////////////////////////// -// -#ifndef GUID_DEFINED -#define GUID_DEFINED -typedef struct _GUID -{ - DWORD Data1; - WORD Data2; - WORD Data3; - BYTE Data4[ 8 ]; -} GUID; - -#ifdef INITGUID -#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ - const GUID name \ - = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } -#else -#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ - const GUID name -#endif // INITGUID -#endif // !GUID_DEFINED - -#if defined(__cplusplus) -#ifndef _REFGUID_DEFINED -#define _REFGUID_DEFINED -#define REFGUID const GUID & -#endif // !_REFGUID_DEFINED -#else // !__cplusplus -#ifndef _REFGUID_DEFINED -#define _REFGUID_DEFINED -#define REFGUID const GUID * const -#endif // !_REFGUID_DEFINED -#endif // !__cplusplus - -#ifndef ARRAYSIZE -#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0])) -#endif - -// -////////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -/////////////////////////////////////////////////// Instruction Target Macros. -// -#define DETOUR_INSTRUCTION_TARGET_NONE ((PVOID)0) -#define DETOUR_INSTRUCTION_TARGET_DYNAMIC ((PVOID)(LONG_PTR)-1) -#define DETOUR_SECTION_HEADER_SIGNATURE 0x00727444 // "Dtr\0" - -extern const GUID DETOUR_EXE_RESTORE_GUID; -extern const GUID DETOUR_EXE_HELPER_GUID; - -#define DETOUR_TRAMPOLINE_SIGNATURE 0x21727444 // Dtr! -typedef struct _DETOUR_TRAMPOLINE DETOUR_TRAMPOLINE, *PDETOUR_TRAMPOLINE; - -/////////////////////////////////////////////////////////// Binary Structures. -// -#pragma pack(push, 8) -typedef struct _DETOUR_SECTION_HEADER -{ - DWORD cbHeaderSize; - DWORD nSignature; - DWORD nDataOffset; - DWORD cbDataSize; - - DWORD nOriginalImportVirtualAddress; - DWORD nOriginalImportSize; - DWORD nOriginalBoundImportVirtualAddress; - DWORD nOriginalBoundImportSize; - - DWORD nOriginalIatVirtualAddress; - DWORD nOriginalIatSize; - DWORD nOriginalSizeOfImage; - DWORD cbPrePE; - - DWORD nOriginalClrFlags; - DWORD reserved1; - DWORD reserved2; - DWORD reserved3; - - // Followed by cbPrePE bytes of data. -} DETOUR_SECTION_HEADER, *PDETOUR_SECTION_HEADER; - -typedef struct _DETOUR_SECTION_RECORD -{ - DWORD cbBytes; - DWORD nReserved; - GUID guid; -} DETOUR_SECTION_RECORD, *PDETOUR_SECTION_RECORD; - -typedef struct _DETOUR_CLR_HEADER -{ - // Header versioning - ULONG cb; - USHORT MajorRuntimeVersion; - USHORT MinorRuntimeVersion; - - // Symbol table and startup information - IMAGE_DATA_DIRECTORY MetaData; - ULONG Flags; - - // Followed by the rest of the IMAGE_COR20_HEADER -} DETOUR_CLR_HEADER, *PDETOUR_CLR_HEADER; - -typedef struct _DETOUR_EXE_RESTORE -{ - DWORD cb; - DWORD cbidh; - DWORD cbinh; - DWORD cbclr; - - PBYTE pidh; - PBYTE pinh; - PBYTE pclr; - - IMAGE_DOS_HEADER idh; - union { - IMAGE_NT_HEADERS inh; - IMAGE_NT_HEADERS32 inh32; - IMAGE_NT_HEADERS64 inh64; - BYTE raw[sizeof(IMAGE_NT_HEADERS64) + - sizeof(IMAGE_SECTION_HEADER) * 32]; - }; - DETOUR_CLR_HEADER clr; - -} DETOUR_EXE_RESTORE, *PDETOUR_EXE_RESTORE; - -typedef struct _DETOUR_EXE_HELPER -{ - DWORD cb; - DWORD pid; - DWORD nDlls; - CHAR rDlls[4]; -} DETOUR_EXE_HELPER, *PDETOUR_EXE_HELPER; - -#pragma pack(pop) - -#define DETOUR_SECTION_HEADER_DECLARE(cbSectionSize) \ -{ \ - sizeof(DETOUR_SECTION_HEADER),\ - DETOUR_SECTION_HEADER_SIGNATURE,\ - sizeof(DETOUR_SECTION_HEADER),\ - (cbSectionSize),\ - \ - 0,\ - 0,\ - 0,\ - 0,\ - \ - 0,\ - 0,\ - 0,\ - 0,\ -} - -/////////////////////////////////////////////////////////////// Helper Macros. -// -#define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) -#define DETOURS_STRINGIFY_(x) #x - -///////////////////////////////////////////////////////////// Binary Typedefs. -// -typedef BOOL (CALLBACK *PF_DETOUR_BINARY_BYWAY_CALLBACK)( - _In_opt_ PVOID pContext, - _In_opt_ LPCSTR pszFile, - _Outptr_result_maybenull_ LPCSTR *ppszOutFile); - -typedef BOOL (CALLBACK *PF_DETOUR_BINARY_FILE_CALLBACK)( - _In_opt_ PVOID pContext, - _In_ LPCSTR pszOrigFile, - _In_ LPCSTR pszFile, - _Outptr_result_maybenull_ LPCSTR *ppszOutFile); - -typedef BOOL (CALLBACK *PF_DETOUR_BINARY_SYMBOL_CALLBACK)( - _In_opt_ PVOID pContext, - _In_ ULONG nOrigOrdinal, - _In_ ULONG nOrdinal, - _Out_ ULONG *pnOutOrdinal, - _In_opt_ LPCSTR pszOrigSymbol, - _In_opt_ LPCSTR pszSymbol, - _Outptr_result_maybenull_ LPCSTR *ppszOutSymbol); - -typedef BOOL (CALLBACK *PF_DETOUR_BINARY_COMMIT_CALLBACK)( - _In_opt_ PVOID pContext); - -typedef BOOL (CALLBACK *PF_DETOUR_ENUMERATE_EXPORT_CALLBACK)(_In_opt_ PVOID pContext, - _In_ ULONG nOrdinal, - _In_opt_ LPCSTR pszName, - _In_opt_ PVOID pCode); - -typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FILE_CALLBACK)(_In_opt_ PVOID pContext, - _In_opt_ HMODULE hModule, - _In_opt_ LPCSTR pszFile); - -typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FUNC_CALLBACK)(_In_opt_ PVOID pContext, - _In_ DWORD nOrdinal, - _In_opt_ LPCSTR pszFunc, - _In_opt_ PVOID pvFunc); - -// Same as PF_DETOUR_IMPORT_FUNC_CALLBACK but extra indirection on last parameter. -typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FUNC_CALLBACK_EX)(_In_opt_ PVOID pContext, - _In_ DWORD nOrdinal, - _In_opt_ LPCSTR pszFunc, - _In_opt_ PVOID* ppvFunc); - -typedef VOID * PDETOUR_BINARY; -typedef VOID * PDETOUR_LOADED_BINARY; - -//////////////////////////////////////////////////////////// Transaction APIs. -// -LONG WINAPI DetourTransactionBegin(VOID); -LONG WINAPI DetourTransactionAbort(VOID); -LONG WINAPI DetourTransactionCommit(VOID); -LONG WINAPI DetourTransactionCommitEx(_Out_opt_ PVOID **pppFailedPointer); - -LONG WINAPI DetourUpdateThread(_In_ HANDLE hThread); - -LONG WINAPI DetourAttach(_Inout_ PVOID *ppPointer, - _In_ PVOID pDetour); - -LONG WINAPI DetourAttachEx(_Inout_ PVOID *ppPointer, - _In_ PVOID pDetour, - _Out_opt_ PDETOUR_TRAMPOLINE *ppRealTrampoline, - _Out_opt_ PVOID *ppRealTarget, - _Out_opt_ PVOID *ppRealDetour); - -LONG WINAPI DetourDetach(_Inout_ PVOID *ppPointer, - _In_ PVOID pDetour); - -BOOL WINAPI DetourSetIgnoreTooSmall(_In_ BOOL fIgnore); -BOOL WINAPI DetourSetRetainRegions(_In_ BOOL fRetain); -PVOID WINAPI DetourSetSystemRegionLowerBound(_In_ PVOID pSystemRegionLowerBound); -PVOID WINAPI DetourSetSystemRegionUpperBound(_In_ PVOID pSystemRegionUpperBound); - -////////////////////////////////////////////////////////////// Code Functions. -// -PVOID WINAPI DetourFindFunction(_In_ LPCSTR pszModule, - _In_ LPCSTR pszFunction); -PVOID WINAPI DetourCodeFromPointer(_In_ PVOID pPointer, - _Out_opt_ PVOID *ppGlobals); -PVOID WINAPI DetourCopyInstruction(_In_opt_ PVOID pDst, - _Inout_opt_ PVOID *ppDstPool, - _In_ PVOID pSrc, - _Out_opt_ PVOID *ppTarget, - _Out_opt_ LONG *plExtra); -BOOL WINAPI DetourSetCodeModule(_In_ HMODULE hModule, - _In_ BOOL fLimitReferencesToModule); - -///////////////////////////////////////////////////// Loaded Binary Functions. -// -HMODULE WINAPI DetourGetContainingModule(_In_ PVOID pvAddr); -HMODULE WINAPI DetourEnumerateModules(_In_opt_ HMODULE hModuleLast); -PVOID WINAPI DetourGetEntryPoint(_In_opt_ HMODULE hModule); -ULONG WINAPI DetourGetModuleSize(_In_opt_ HMODULE hModule); -BOOL WINAPI DetourEnumerateExports(_In_ HMODULE hModule, - _In_opt_ PVOID pContext, - _In_ PF_DETOUR_ENUMERATE_EXPORT_CALLBACK pfExport); -BOOL WINAPI DetourEnumerateImports(_In_opt_ HMODULE hModule, - _In_opt_ PVOID pContext, - _In_opt_ PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile, - _In_opt_ PF_DETOUR_IMPORT_FUNC_CALLBACK pfImportFunc); - -BOOL WINAPI DetourEnumerateImportsEx(_In_opt_ HMODULE hModule, - _In_opt_ PVOID pContext, - _In_opt_ PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile, - _In_opt_ PF_DETOUR_IMPORT_FUNC_CALLBACK_EX pfImportFuncEx); - -_Writable_bytes_(*pcbData) -_Readable_bytes_(*pcbData) -_Success_(return != NULL) -PVOID WINAPI DetourFindPayload(_In_opt_ HMODULE hModule, - _In_ REFGUID rguid, - _Out_ DWORD *pcbData); - -_Writable_bytes_(*pcbData) -_Readable_bytes_(*pcbData) -_Success_(return != NULL) -PVOID WINAPI DetourFindPayloadEx(_In_ REFGUID rguid, - _Out_ DWORD * pcbData); - -DWORD WINAPI DetourGetSizeOfPayloads(_In_opt_ HMODULE hModule); - -///////////////////////////////////////////////// Persistent Binary Functions. -// - -PDETOUR_BINARY WINAPI DetourBinaryOpen(_In_ HANDLE hFile); - -_Writable_bytes_(*pcbData) -_Readable_bytes_(*pcbData) -_Success_(return != NULL) -PVOID WINAPI DetourBinaryEnumeratePayloads(_In_ PDETOUR_BINARY pBinary, - _Out_opt_ GUID *pGuid, - _Out_ DWORD *pcbData, - _Inout_ DWORD *pnIterator); - -_Writable_bytes_(*pcbData) -_Readable_bytes_(*pcbData) -_Success_(return != NULL) -PVOID WINAPI DetourBinaryFindPayload(_In_ PDETOUR_BINARY pBinary, - _In_ REFGUID rguid, - _Out_ DWORD *pcbData); - -PVOID WINAPI DetourBinarySetPayload(_In_ PDETOUR_BINARY pBinary, - _In_ REFGUID rguid, - _In_reads_opt_(cbData) PVOID pData, - _In_ DWORD cbData); -BOOL WINAPI DetourBinaryDeletePayload(_In_ PDETOUR_BINARY pBinary, _In_ REFGUID rguid); -BOOL WINAPI DetourBinaryPurgePayloads(_In_ PDETOUR_BINARY pBinary); -BOOL WINAPI DetourBinaryResetImports(_In_ PDETOUR_BINARY pBinary); -BOOL WINAPI DetourBinaryEditImports(_In_ PDETOUR_BINARY pBinary, - _In_opt_ PVOID pContext, - _In_opt_ PF_DETOUR_BINARY_BYWAY_CALLBACK pfByway, - _In_opt_ PF_DETOUR_BINARY_FILE_CALLBACK pfFile, - _In_opt_ PF_DETOUR_BINARY_SYMBOL_CALLBACK pfSymbol, - _In_opt_ PF_DETOUR_BINARY_COMMIT_CALLBACK pfCommit); -BOOL WINAPI DetourBinaryWrite(_In_ PDETOUR_BINARY pBinary, _In_ HANDLE hFile); -BOOL WINAPI DetourBinaryClose(_In_ PDETOUR_BINARY pBinary); - -/////////////////////////////////////////////////// Create Process & Load Dll. -// -typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEA)( - _In_opt_ LPCSTR lpApplicationName, - _Inout_opt_ LPSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOA lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation); - -typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEW)( - _In_opt_ LPCWSTR lpApplicationName, - _Inout_opt_ LPWSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCWSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOW lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation); - -BOOL WINAPI DetourCreateProcessWithDllA(_In_opt_ LPCSTR lpApplicationName, - _Inout_opt_ LPSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOA lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ LPCSTR lpDllName, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); - -BOOL WINAPI DetourCreateProcessWithDllW(_In_opt_ LPCWSTR lpApplicationName, - _Inout_opt_ LPWSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCWSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOW lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ LPCSTR lpDllName, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); - -#ifdef UNICODE -#define DetourCreateProcessWithDll DetourCreateProcessWithDllW -#define PDETOUR_CREATE_PROCESS_ROUTINE PDETOUR_CREATE_PROCESS_ROUTINEW -#else -#define DetourCreateProcessWithDll DetourCreateProcessWithDllA -#define PDETOUR_CREATE_PROCESS_ROUTINE PDETOUR_CREATE_PROCESS_ROUTINEA -#endif // !UNICODE - -BOOL WINAPI DetourCreateProcessWithDllExA(_In_opt_ LPCSTR lpApplicationName, - _Inout_opt_ LPSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOA lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ LPCSTR lpDllName, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); - -BOOL WINAPI DetourCreateProcessWithDllExW(_In_opt_ LPCWSTR lpApplicationName, - _Inout_opt_ LPWSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCWSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOW lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ LPCSTR lpDllName, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); - -#ifdef UNICODE -#define DetourCreateProcessWithDllEx DetourCreateProcessWithDllExW -#else -#define DetourCreateProcessWithDllEx DetourCreateProcessWithDllExA -#endif // !UNICODE - -BOOL WINAPI DetourCreateProcessWithDllsA(_In_opt_ LPCSTR lpApplicationName, - _Inout_opt_ LPSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOA lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ DWORD nDlls, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); - -BOOL WINAPI DetourCreateProcessWithDllsW(_In_opt_ LPCWSTR lpApplicationName, - _Inout_opt_ LPWSTR lpCommandLine, - _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, - _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, - _In_ BOOL bInheritHandles, - _In_ DWORD dwCreationFlags, - _In_opt_ LPVOID lpEnvironment, - _In_opt_ LPCWSTR lpCurrentDirectory, - _In_ LPSTARTUPINFOW lpStartupInfo, - _Out_ LPPROCESS_INFORMATION lpProcessInformation, - _In_ DWORD nDlls, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_opt_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); - -#ifdef UNICODE -#define DetourCreateProcessWithDlls DetourCreateProcessWithDllsW -#else -#define DetourCreateProcessWithDlls DetourCreateProcessWithDllsA -#endif // !UNICODE - -BOOL WINAPI DetourProcessViaHelperA(_In_ DWORD dwTargetPid, - _In_ LPCSTR lpDllName, - _In_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); - -BOOL WINAPI DetourProcessViaHelperW(_In_ DWORD dwTargetPid, - _In_ LPCSTR lpDllName, - _In_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); - -#ifdef UNICODE -#define DetourProcessViaHelper DetourProcessViaHelperW -#else -#define DetourProcessViaHelper DetourProcessViaHelperA -#endif // !UNICODE - -BOOL WINAPI DetourProcessViaHelperDllsA(_In_ DWORD dwTargetPid, - _In_ DWORD nDlls, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_ PDETOUR_CREATE_PROCESS_ROUTINEA pfCreateProcessA); - -BOOL WINAPI DetourProcessViaHelperDllsW(_In_ DWORD dwTargetPid, - _In_ DWORD nDlls, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_ PDETOUR_CREATE_PROCESS_ROUTINEW pfCreateProcessW); - -#ifdef UNICODE -#define DetourProcessViaHelperDlls DetourProcessViaHelperDllsW -#else -#define DetourProcessViaHelperDlls DetourProcessViaHelperDllsA -#endif // !UNICODE - -BOOL WINAPI DetourUpdateProcessWithDll(_In_ HANDLE hProcess, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_ DWORD nDlls); - -BOOL WINAPI DetourUpdateProcessWithDllEx(_In_ HANDLE hProcess, - _In_ HMODULE hImage, - _In_ BOOL bIs32Bit, - _In_reads_(nDlls) LPCSTR *rlpDlls, - _In_ DWORD nDlls); - -BOOL WINAPI DetourCopyPayloadToProcess(_In_ HANDLE hProcess, - _In_ REFGUID rguid, - _In_reads_bytes_(cbData) PVOID pvData, - _In_ DWORD cbData); -BOOL WINAPI DetourRestoreAfterWith(VOID); -BOOL WINAPI DetourRestoreAfterWithEx(_In_reads_bytes_(cbData) PVOID pvData, - _In_ DWORD cbData); -BOOL WINAPI DetourIsHelperProcess(VOID); -VOID CALLBACK DetourFinishHelperProcess(_In_ HWND, - _In_ HINSTANCE, - _In_ LPSTR, - _In_ INT); - -// -////////////////////////////////////////////////////////////////////////////// -#ifdef __cplusplus -} -#endif // __cplusplus - -//////////////////////////////////////////////// Detours Internal Definitions. -// -#ifdef __cplusplus -#ifdef DETOURS_INTERNAL - -#define NOTHROW -// #define NOTHROW (nothrow) - -////////////////////////////////////////////////////////////////////////////// -// -#if (_MSC_VER < 1299) -#include -typedef IMAGEHLP_MODULE IMAGEHLP_MODULE64; -typedef PIMAGEHLP_MODULE PIMAGEHLP_MODULE64; -typedef IMAGEHLP_SYMBOL SYMBOL_INFO; -typedef PIMAGEHLP_SYMBOL PSYMBOL_INFO; - -static inline -LONG InterlockedCompareExchange(_Inout_ LONG *ptr, _In_ LONG nval, _In_ LONG oval) -{ - return (LONG)::InterlockedCompareExchange((PVOID*)ptr, (PVOID)nval, (PVOID)oval); -} -#else -#pragma warning(push) -#pragma warning(disable:4091) // empty typedef -#include -#pragma warning(pop) -#endif - -#ifdef IMAGEAPI // defined by DBGHELP.H -typedef LPAPI_VERSION (NTAPI *PF_ImagehlpApiVersionEx)(_In_ LPAPI_VERSION AppVersion); - -typedef BOOL (NTAPI *PF_SymInitialize)(_In_ HANDLE hProcess, - _In_opt_ LPCSTR UserSearchPath, - _In_ BOOL fInvadeProcess); -typedef DWORD (NTAPI *PF_SymSetOptions)(_In_ DWORD SymOptions); -typedef DWORD (NTAPI *PF_SymGetOptions)(VOID); -typedef DWORD64 (NTAPI *PF_SymLoadModule64)(_In_ HANDLE hProcess, - _In_opt_ HANDLE hFile, - _In_ LPSTR ImageName, - _In_opt_ LPSTR ModuleName, - _In_ DWORD64 BaseOfDll, - _In_opt_ DWORD SizeOfDll); -typedef BOOL (NTAPI *PF_SymGetModuleInfo64)(_In_ HANDLE hProcess, - _In_ DWORD64 qwAddr, - _Out_ PIMAGEHLP_MODULE64 ModuleInfo); -typedef BOOL (NTAPI *PF_SymFromName)(_In_ HANDLE hProcess, - _In_ LPSTR Name, - _Out_ PSYMBOL_INFO Symbol); - -typedef struct _DETOUR_SYM_INFO -{ - HANDLE hProcess; - HMODULE hDbgHelp; - PF_ImagehlpApiVersionEx pfImagehlpApiVersionEx; - PF_SymInitialize pfSymInitialize; - PF_SymSetOptions pfSymSetOptions; - PF_SymGetOptions pfSymGetOptions; - PF_SymLoadModule64 pfSymLoadModule64; - PF_SymGetModuleInfo64 pfSymGetModuleInfo64; - PF_SymFromName pfSymFromName; -} DETOUR_SYM_INFO, *PDETOUR_SYM_INFO; - -PDETOUR_SYM_INFO DetourLoadImageHlp(VOID); - -#endif // IMAGEAPI - -#if defined(_INC_STDIO) && !defined(_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS) -#error detours.h must be included before stdio.h (or at least define _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS earlier) -#endif -#define _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS 1 - -#ifndef DETOUR_TRACE -#if DETOUR_DEBUG -#define DETOUR_TRACE(x) printf x -#define DETOUR_BREAK() __debugbreak() -#include -#include -#else -#define DETOUR_TRACE(x) -#define DETOUR_BREAK() -#endif -#endif - -#if 1 || defined(DETOURS_IA64) - -// -// IA64 instructions are 41 bits, 3 per bundle, plus 5 bit bundle template => 128 bits per bundle. -// - -#define DETOUR_IA64_INSTRUCTIONS_PER_BUNDLE (3) - -#define DETOUR_IA64_TEMPLATE_OFFSET (0) -#define DETOUR_IA64_TEMPLATE_SIZE (5) - -#define DETOUR_IA64_INSTRUCTION_SIZE (41) -#define DETOUR_IA64_INSTRUCTION0_OFFSET (DETOUR_IA64_TEMPLATE_SIZE) -#define DETOUR_IA64_INSTRUCTION1_OFFSET (DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTION_SIZE) -#define DETOUR_IA64_INSTRUCTION2_OFFSET (DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTION_SIZE + DETOUR_IA64_INSTRUCTION_SIZE) - -C_ASSERT(DETOUR_IA64_TEMPLATE_SIZE + DETOUR_IA64_INSTRUCTIONS_PER_BUNDLE * DETOUR_IA64_INSTRUCTION_SIZE == 128); - -__declspec(align(16)) struct DETOUR_IA64_BUNDLE -{ - public: - union - { - BYTE data[16]; - UINT64 wide[2]; - }; - - enum { - A_UNIT = 1u, - I_UNIT = 2u, - M_UNIT = 3u, - B_UNIT = 4u, - F_UNIT = 5u, - L_UNIT = 6u, - X_UNIT = 7u, - }; - struct DETOUR_IA64_METADATA - { - ULONG nTemplate : 8; // Instruction template. - ULONG nUnit0 : 4; // Unit for slot 0 - ULONG nUnit1 : 4; // Unit for slot 1 - ULONG nUnit2 : 4; // Unit for slot 2 - }; - - protected: - static const DETOUR_IA64_METADATA s_rceCopyTable[33]; - - UINT RelocateBundle(_Inout_ DETOUR_IA64_BUNDLE* pDst, _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra) const; - - bool RelocateInstruction(_Inout_ DETOUR_IA64_BUNDLE* pDst, - _In_ BYTE slot, - _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra) const; - - // 120 112 104 96 88 80 72 64 56 48 40 32 24 16 8 0 - // f. e. d. c. b. a. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. - - // 00 - // f.e. d.c. b.a. 9.8. 7.6. 5.4. 3.2. 1.0. - // 0000 0000 0000 0000 0000 0000 0000 001f : Template [4..0] - // 0000 0000 0000 0000 0000 03ff ffff ffe0 : Zero [ 41.. 5] - // 0000 0000 0000 0000 0000 3c00 0000 0000 : Zero [ 45.. 42] - // 0000 0000 0007 ffff ffff c000 0000 0000 : One [ 82.. 46] - // 0000 0000 0078 0000 0000 0000 0000 0000 : One [ 86.. 83] - // 0fff ffff ff80 0000 0000 0000 0000 0000 : Two [123.. 87] - // f000 0000 0000 0000 0000 0000 0000 0000 : Two [127..124] - BYTE GetTemplate() const; - // Get 4 bit opcodes. - BYTE GetInst0() const; - BYTE GetInst1() const; - BYTE GetInst2() const; - BYTE GetUnit(BYTE slot) const; - BYTE GetUnit0() const; - BYTE GetUnit1() const; - BYTE GetUnit2() const; - // Get 37 bit data. - UINT64 GetData0() const; - UINT64 GetData1() const; - UINT64 GetData2() const; - - // Get/set the full 41 bit instructions. - UINT64 GetInstruction(BYTE slot) const; - UINT64 GetInstruction0() const; - UINT64 GetInstruction1() const; - UINT64 GetInstruction2() const; - void SetInstruction(BYTE slot, UINT64 instruction); - void SetInstruction0(UINT64 instruction); - void SetInstruction1(UINT64 instruction); - void SetInstruction2(UINT64 instruction); - - // Get/set bitfields. - static UINT64 GetBits(UINT64 Value, UINT64 Offset, UINT64 Count); - static UINT64 SetBits(UINT64 Value, UINT64 Offset, UINT64 Count, UINT64 Field); - - // Get specific read-only fields. - static UINT64 GetOpcode(UINT64 instruction); // 4bit opcode - static UINT64 GetX(UINT64 instruction); // 1bit opcode extension - static UINT64 GetX3(UINT64 instruction); // 3bit opcode extension - static UINT64 GetX6(UINT64 instruction); // 6bit opcode extension - - // Get/set specific fields. - static UINT64 GetImm7a(UINT64 instruction); - static UINT64 SetImm7a(UINT64 instruction, UINT64 imm7a); - static UINT64 GetImm13c(UINT64 instruction); - static UINT64 SetImm13c(UINT64 instruction, UINT64 imm13c); - static UINT64 GetSignBit(UINT64 instruction); - static UINT64 SetSignBit(UINT64 instruction, UINT64 signBit); - static UINT64 GetImm20a(UINT64 instruction); - static UINT64 SetImm20a(UINT64 instruction, UINT64 imm20a); - static UINT64 GetImm20b(UINT64 instruction); - static UINT64 SetImm20b(UINT64 instruction, UINT64 imm20b); - - static UINT64 SignExtend(UINT64 Value, UINT64 Offset); - - BOOL IsMovlGp() const; - - VOID SetInst(BYTE Slot, BYTE nInst); - VOID SetInst0(BYTE nInst); - VOID SetInst1(BYTE nInst); - VOID SetInst2(BYTE nInst); - VOID SetData(BYTE Slot, UINT64 nData); - VOID SetData0(UINT64 nData); - VOID SetData1(UINT64 nData); - VOID SetData2(UINT64 nData); - BOOL SetNop(BYTE Slot); - BOOL SetNop0(); - BOOL SetNop1(); - BOOL SetNop2(); - - public: - BOOL IsBrl() const; - VOID SetBrl(); - VOID SetBrl(UINT64 target); - UINT64 GetBrlTarget() const; - VOID SetBrlTarget(UINT64 target); - VOID SetBrlImm(UINT64 imm); - UINT64 GetBrlImm() const; - - UINT64 GetMovlGp() const; - VOID SetMovlGp(UINT64 gp); - - VOID SetStop(); - - UINT Copy(_Out_ DETOUR_IA64_BUNDLE *pDst, _Inout_opt_ DETOUR_IA64_BUNDLE* pBundleExtra = NULL) const; -}; -#endif // DETOURS_IA64 - -#ifdef DETOURS_ARM - -#define DETOURS_PFUNC_TO_PBYTE(p) ((PBYTE)(((ULONG_PTR)(p)) & ~(ULONG_PTR)1)) -#define DETOURS_PBYTE_TO_PFUNC(p) ((PBYTE)(((ULONG_PTR)(p)) | (ULONG_PTR)1)) - -#endif // DETOURS_ARM - -////////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -#define DETOUR_OFFLINE_LIBRARY(x) \ -PVOID WINAPI DetourCopyInstruction##x(_In_opt_ PVOID pDst, \ - _Inout_opt_ PVOID *ppDstPool, \ - _In_ PVOID pSrc, \ - _Out_opt_ PVOID *ppTarget, \ - _Out_opt_ LONG *plExtra); \ - \ -BOOL WINAPI DetourSetCodeModule##x(_In_ HMODULE hModule, \ - _In_ BOOL fLimitReferencesToModule); \ - -DETOUR_OFFLINE_LIBRARY(X86) -DETOUR_OFFLINE_LIBRARY(X64) -DETOUR_OFFLINE_LIBRARY(ARM) -DETOUR_OFFLINE_LIBRARY(ARM64) -DETOUR_OFFLINE_LIBRARY(IA64) - -#undef DETOUR_OFFLINE_LIBRARY - -////////////////////////////////////////////////////////////////////////////// -// -// Helpers for manipulating page protection. -// - -_Success_(return != FALSE) -BOOL WINAPI DetourVirtualProtectSameExecuteEx(_In_ HANDLE hProcess, - _In_ PVOID pAddress, - _In_ SIZE_T nSize, - _In_ DWORD dwNewProtect, - _Out_ PDWORD pdwOldProtect); - -_Success_(return != FALSE) -BOOL WINAPI DetourVirtualProtectSameExecute(_In_ PVOID pAddress, - _In_ SIZE_T nSize, - _In_ DWORD dwNewProtect, - _Out_ PDWORD pdwOldProtect); -#ifdef __cplusplus -} -#endif // __cplusplus - -////////////////////////////////////////////////////////////////////////////// - -#define MM_ALLOCATION_GRANULARITY 0x10000 - -////////////////////////////////////////////////////////////////////////////// - -#endif // DETOURS_INTERNAL -#endif // __cplusplus - -#endif // _DETOURS_H_ -// -//////////////////////////////////////////////////////////////// End of File. diff --git a/libs/Detours-4.0.1/include/detver.h b/libs/Detours-4.0.1/include/detver.h deleted file mode 100644 index f0aae9b..0000000 --- a/libs/Detours-4.0.1/include/detver.h +++ /dev/null @@ -1,27 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Common version parameters. -// -// Microsoft Research Detours Package, Version 4.0.1 -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// - -#define _USING_V110_SDK71_ 1 -#include "winver.h" -#if 0 -#include -#include -#else -#ifndef DETOURS_STRINGIFY -#define DETOURS_STRINGIFY(x) DETOURS_STRINGIFY_(x) -#define DETOURS_STRINGIFY_(x) #x -#endif - -#define VER_FILEFLAGSMASK 0x3fL -#define VER_FILEFLAGS 0x0L -#define VER_FILEOS 0x00040004L -#define VER_FILETYPE 0x00000002L -#define VER_FILESUBTYPE 0x00000000L -#endif -#define VER_DETOURS_BITS DETOUR_STRINGIFY(DETOURS_BITS) diff --git a/libs/Detours-4.0.1/include/syelog.h b/libs/Detours-4.0.1/include/syelog.h deleted file mode 100644 index 7cfa9f3..0000000 --- a/libs/Detours-4.0.1/include/syelog.h +++ /dev/null @@ -1,89 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// Detours Test Program (syelog.h of syelog.lib) -// -// Microsoft Research Detours Package -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// -#pragma once -#ifndef _SYELOGD_H_ -#define _SYELOGD_H_ -#include - -#pragma pack(push, 1) -#pragma warning(push) -#pragma warning(disable: 4200) - -////////////////////////////////////////////////////////////////////////////// -// -// -#define SYELOG_PIPE_NAMEA "\\\\.\\pipe\\syelog" -#define SYELOG_PIPE_NAMEW L"\\\\.\\pipe\\syelog" -#ifdef UNICODE -#define SYELOG_PIPE_NAME SYELOG_PIPE_NAMEW -#else -#define SYELOG_PIPE_NAME SYELOG_PIPE_NAMEA -#endif - -////////////////////////////////////////////////////////////////////////////// -// -#define SYELOG_MAXIMUM_MESSAGE 4086 // 4096 - sizeof(header stuff) - -typedef struct _SYELOG_MESSAGE -{ - USHORT nBytes; - BYTE nFacility; - BYTE nSeverity; - DWORD nProcessId; - FILETIME ftOccurance; - BOOL fTerminate; - CHAR szMessage[SYELOG_MAXIMUM_MESSAGE]; -} SYELOG_MESSAGE, *PSYELOG_MESSAGE; - - -// Facility Codes. -// -#define SYELOG_FACILITY_KERNEL 0x10 // OS Kernel -#define SYELOG_FACILITY_SECURITY 0x20 // OS Security -#define SYELOG_FACILITY_LOGGING 0x30 // OS Logging-internal -#define SYELOG_FACILITY_SERVICE 0x40 // User-mode system daemon -#define SYELOG_FACILITY_APPLICATION 0x50 // User-mode application -#define SYELOG_FACILITY_USER 0x60 // User self-generated. -#define SYELOG_FACILITY_LOCAL0 0x70 // Locally defined. -#define SYELOG_FACILITY_LOCAL1 0x71 // Locally defined. -#define SYELOG_FACILITY_LOCAL2 0x72 // Locally defined. -#define SYELOG_FACILITY_LOCAL3 0x73 // Locally defined. -#define SYELOG_FACILITY_LOCAL4 0x74 // Locally defined. -#define SYELOG_FACILITY_LOCAL5 0x75 // Locally defined. -#define SYELOG_FACILITY_LOCAL6 0x76 // Locally defined. -#define SYELOG_FACILITY_LOCAL7 0x77 // Locally defined. -#define SYELOG_FACILITY_LOCAL8 0x78 // Locally defined. -#define SYELOG_FACILITY_LOCAL9 0x79 // Locally defined. - -// Severity Codes. -// -#define SYELOG_SEVERITY_FATAL 0x00 // System is dead. -#define SYELOG_SEVERITY_ALERT 0x10 // Take action immediately. -#define SYELOG_SEVERITY_CRITICAL 0x20 // Critical condition. -#define SYELOG_SEVERITY_ERROR 0x30 // Error -#define SYELOG_SEVERITY_WARNING 0x40 // Warning -#define SYELOG_SEVERITY_NOTICE 0x50 // Significant condition. -#define SYELOG_SEVERITY_INFORMATION 0x60 // Informational -#define SYELOG_SEVERITY_AUDIT_FAIL 0x66 // Audit Failed -#define SYELOG_SEVERITY_AUDIT_PASS 0x67 // Audit Succeeeded -#define SYELOG_SEVERITY_DEBUG 0x70 // Debugging - -// Logging Functions. -// -VOID SyelogOpen(PCSTR pszIdentifier, BYTE nFacility); -VOID Syelog(BYTE nSeverity, PCSTR pszMsgf, ...); -VOID SyelogV(BYTE nSeverity, PCSTR pszMsgf, va_list args); -VOID SyelogClose(BOOL fTerminate); - -#pragma warning(pop) -#pragma pack(pop) - -#endif // _SYELOGD_H_ -// -///////////////////////////////////////////////////////////////// End of File. diff --git a/libs/Detours-4.0.1/lib.X64/detours.lib b/libs/Detours-4.0.1/lib.X64/detours.lib deleted file mode 100644 index 0804617395af9b4b9ae5db9c1a819826b4bdf008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664644 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 z

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

w@dPX12A*0`QC6WzS)nAp8m6kEqNp^GQBhV< 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

9qUzK32V0q9tn82P#4ok_8jAxh&vY?72iGZc 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 diff --git a/libs/Detours-4.0.1/lib.X86/syelog.lib b/libs/Detours-4.0.1/lib.X86/syelog.lib deleted file mode 100644 index c94661cd06601afdc08060398eca980801f53545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44410 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

BY|au`@m@pAzP}N+d8(`0P-eOB#j2=Bi49 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 E559{8CjbBd diff --git a/libs/libs.cmake b/libs/libs.cmake index ddc5c92..4e9b368 100644 --- a/libs/libs.cmake +++ b/libs/libs.cmake @@ -1,18 +1,18 @@ if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) - set(Detours ${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/lib.X64/detours.lib) + #set(Detours ${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/lib.X64/detours.lib) else() if(NOT DEFINED WINXP) set(YY_Thunks_for_WinXP) else() set(YY_Thunks_for_WinXP ${CMAKE_CURRENT_LIST_DIR}/YY-Thunks-1.0.7-Binary/objs/X86/YY_Thunks_for_WinXP.obj) endif() - set(Detours ${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/lib.X86/detours.lib) + #set(Detours ${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/lib.X86/detours.lib) endif() add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/minhook) include_directories(${CMAKE_CURRENT_LIST_DIR}) -include_directories(${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/include) +#include_directories(${CMAKE_CURRENT_LIST_DIR}/Detours-4.0.1/include)