I_Jemin

C_932 로드시 SysWow64 리다이렉션을 해제

1 -// ithsys.cc 1 +// ithsys.cc
2 // 8/21/2013 jichi 2 // 8/21/2013 jichi
3 // Branch: ITH_SYS/SYS.cpp, rev 126 3 // Branch: ITH_SYS/SYS.cpp, rev 126
4 // 4 //
...@@ -758,6 +758,16 @@ BOOL IthInitSystemService() ...@@ -758,6 +758,16 @@ BOOL IthInitSystemService()
758 return FALSE; 758 return FALSE;
759 DWORD base = (DWORD)peb->ReadOnlySharedMemoryBase; 759 DWORD base = (DWORD)peb->ReadOnlySharedMemoryBase;
760 DWORD end = base + info.RegionSize - 0x40; 760 DWORD end = base + info.RegionSize - 0x40;
761 +
762 +
763 + // 일본어 코드 페이지 C_932 이 SysWow64에 없음
764 + // 64bit에서 (32bit) 로 실행할 경우 SysWow64로 리다이렉트 되는 것 해제
765 +
766 + PVOID OldValue;
767 +
768 + Wow64DisableWow64FsRedirection(&OldValue);
769 +
770 +
761 static WCHAR system32[] = L"system32"; 771 static WCHAR system32[] = L"system32";
762 for (;base < end; base += 2) 772 for (;base < end; base += 2)
763 if (::memcmp((PVOID)base, system32, 0x10) == 0) { 773 if (::memcmp((PVOID)base, system32, 0x10) == 0) {
......