c:\windows\regedit.exe 복사 실패

c:\windows\regedit.exe 복사 실패

오늘 밤 나는 win7(64비트 프로)에서 이상한 현상을 발견했습니다. 예를 들어 regedit.exe를 c:\에 복사하면 더 이상 실행할 수 없습니다. 더 이상 시작되지 않습니다. olly db로 디버깅하려고 하면 olly는 더 이상 유효한 32비트 PE 파일이 아니라고 말합니다. 자세히 살펴보면 파일이 어떻게든 뒤섞이거나 재정렬된 것을 알 수 있습니다. PE-헤더가 8바이트 뒤로 이동되었습니다. rdata 및 pdata 섹션이 갑자기 나타납니다.

여기서 무슨 일이 벌어지고 있는 걸까요?

건배, 1월

답변1

C:\Windows\regedit.exe64비트 실행 파일이므로 유효한 32비트 파일이 아닙니다 . 32비트 버전은 C:\Windows\SysWow64\regedit.exe.

기본 위치에서 복사하면 둘 다 실행되지 않는다는 것을 확인할 수 있습니다.

Win7은 내부적으로 몇 가지 마법을 수행합니다. 32비트 프로세스에서 regedit를 실행하면 C:\Windows\SysWow64. 64비트 프로세스에서 실행하는 경우 C:\Windows에 해당 프로세스가 표시됩니다. 따라서 32비트 디버거가 디버깅 중이라고 생각하면 C:\Windows\regedit.exe실제로는 C:\Windows\SysWow64\regedit.exe. regedit.exe를 복사하면 C:\Windows리디렉션이 발생하지 않고 32비트 디버거에 64비트 exe가 있으므로 명백한 변화가 발생합니다.

답변2

을 복사할 때 하위 폴더(예: ) 에 있는 regedit.exe해당 파일도 복사해야 합니다. 그렇지 않으면 시작되지 않습니다..muiculturefr-FR\regedit.exe.mui

답변3

NT6의 일부 도구는 이와 같이 어리석습니다. MUI 파일(아마도 en-us 폴더에 있음)이 없으면 실행되지 않습니다.

한번은 관리자 권한이 없는 관리자 권한으로 실행하기 위해 regedit를 해킹한 적이 있으며, 해킹된 복사본을 실행하기 위해 끝까지 싸워야 했는데, 무엇을 해야 했는지에 대한 정확한 세부 사항이 기억나지 않습니다.

관련 정보