From 8714645aa046faf28bd2a5d2f12f14a5a34926b9 Mon Sep 17 00:00:00 2001 From: I_Jemin Date: Sun, 13 Nov 2016 02:52:46 +0900 Subject: [PATCH 1/2] =?UTF-8?q?C=5F932=20=EB=A1=9C=EB=93=9C=EC=8B=9C=20Sys?= =?UTF-8?q?Wow64=20=EB=A6=AC=EB=8B=A4=EC=9D=B4=EB=A0=89=EC=85=98=EC=9D=84?= =?UTF-8?q?=20=ED=95=B4=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnr/ithsys/ithsys.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vnr/ithsys/ithsys.cc b/vnr/ithsys/ithsys.cc index 3837301..00ec5e3 100644 --- a/vnr/ithsys/ithsys.cc +++ b/vnr/ithsys/ithsys.cc @@ -1,4 +1,4 @@ -// ithsys.cc +// ithsys.cc // 8/21/2013 jichi // Branch: ITH_SYS/SYS.cpp, rev 126 // @@ -758,6 +758,16 @@ BOOL IthInitSystemService() return FALSE; DWORD base = (DWORD)peb->ReadOnlySharedMemoryBase; DWORD end = base + info.RegionSize - 0x40; + + + // 일본어 코드 페이지 C_932 이 SysWow64에 없음 + // 64bit에서 (32bit) 로 실행할 경우 SysWow64로 리다이렉트 되는 것 해제 + + PVOID OldValue; + + Wow64DisableWow64FsRedirection(&OldValue); + + static WCHAR system32[] = L"system32"; for (;base < end; base += 2) if (::memcmp((PVOID)base, system32, 0x10) == 0) { From 0ec3d48ce39cad75500b55318052481e7d33c486 Mon Sep 17 00:00:00 2001 From: Eguni Date: Sun, 13 Nov 2016 06:19:20 +0900 Subject: [PATCH 2/2] RS1 Issue committed --- vnr/ithsys/ithsys.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/vnr/ithsys/ithsys.cc b/vnr/ithsys/ithsys.cc index 00ec5e3..128f51f 100644 --- a/vnr/ithsys/ithsys.cc +++ b/vnr/ithsys/ithsys.cc @@ -759,14 +759,10 @@ BOOL IthInitSystemService() DWORD base = (DWORD)peb->ReadOnlySharedMemoryBase; DWORD end = base + info.RegionSize - 0x40; - - // 일본어 코드 페이지 C_932 이 SysWow64에 없음 - // 64bit에서 (32bit) 로 실행할 경우 SysWow64로 리다이렉트 되는 것 해제 - + // I_Jemin 13/11/2016 + // Prevent redirecting SYSWOW64 to receive Shift-JIS PVOID OldValue; - Wow64DisableWow64FsRedirection(&OldValue); - static WCHAR system32[] = L"system32"; for (;base < end; base += 2) @@ -777,6 +773,11 @@ BOOL IthInitSystemService() while (*obj != L'\\') obj++; break; } + + // Eguni 13/11/2016 + // Dispose redirection + Wow64EnableWow64FsRedirection(FALSE); + if (base == end) return FALSE; }