문제

Explorer.exe에서 약간의 IAT 후킹을 시도하고 있습니다.명세서:윈도우 7 x64, 비주얼 C++.C:\Windows\Explorer.exe를 제외하고 내가 선택한 모든 실행 파일에서 썽크 데이터를 읽을 수 있는 수준에 이르렀습니다.이에 대해 내 프로그램을 실행하면 해당 실행 파일에서 메모리를 읽을 때 액세스 위반이 발생합니다.그러나 C:\Windows\system32\Explorer.exe 및 C:\Windows\sysWOW64\Explorer.exe에 대해 이것을 실행하면 아무런 문제가 없습니다.왜 이런거야?C:\Windows\Explorer.exe는 다른 explorer.exe 중 하나에 대한 일종의 심볼릭 링크입니까?이 파일을 읽지 못하게 하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

내 Windows 7 x64 시스템에서 C:\windows\explorer.exe 64비트 바이너리이고, PE32+ 형식을 지정하는 반면 c:\windows\syswow64\explorer.exe 32비트 바이너리이고, PE32 체재.귀하의 애플리케이션이 두 가지를 모두 읽도록 설계되었습니까? PE32 그리고 PE32+ 형식?

그리고 개봉할 때 C:\Windows\System32\Explorer.exe 32비트 프로세스에서 c:\windows\syswow64\explorer.exe 복사.64비트 프로세스에서 c:\windows\system32\explorer.exe 존재하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top