Windows에서 notepad.exe를 복붙(Ctrl + c, Ctrl+v) 또는 복제하여 notepad_copy.exe를 생성하고 notepad_copy.exe를 실행하면 실행되지 않는다.
복붙 또는 복제한 notepad_copy.exe를 실행하고 싶다면 System32 폴더 하위에 있는 시스템 언어 폴더 ko-KR 또는 en-US와 같은 폴더에 notepad_copy.exe와 동일한 이름의 MUI 리소스 파일인 notepad_copy.exe.mui를 넣어두면 실행할 수 있다.
Windows에서는 C:\Windows\System32 폴더에 OS의 커널과 관련된 부분들이 많기 때문에 보안이 철저하다.
C:\Windows\System32 폴더는 읽기 전용으로 권한이 설정되어 있고, 보안 정책 역시 TrustedInstaller를 제외한 일반 사용자 및 관리자 계정은 쓰기 권한이 없게 설정되어 있어서 C:\Windows\System32 내에 존재하는 파일들을 수정하고 싶을 때는 해당 폴더의 권한을 수정해야 한다.
C:\Windows\System32 폴더 하위에 있는 파일들을 작업하고 싶을 때는 위에서 말한 것과 같이 해당 폴더의 권한을 수정해야 하지만 또 다른 방법으로는 복붙(Ctrl+c, Ctrl+v) 또는 복제하는 방법이 있다.
다만, C:\Windows\System32 폴더 하위의 파일들을 복붙 또는 복제하는 방법으로 생성은 되지만 실행이 되지 않는다.
시스템 파일이 외부의 특정 리소스를 가져오는 경우에(notepad.exe -> notepad.exe.mui) 파일의 이름이 경로에 사용되기 때문에 실행되지 않는다.
이는 System32 폴더 하위에 있는 파일들 대부분의 문제이다.
Windows Vista 이후 버전에서 notepad.exe와 같은 C:\\Windows\System32 폴더 하위에 있는 시스템 파일들을 복붙 또는 복제하여 생성한 뒤 실행하고자 할 때는 시스템 파일 이름과 동일한 .mui 리소스를 시스템 언어 폴더 하위에 넣어줘야 한다.
(ko-KR 폴더는 notepad.exe 파일과 동일한 경로 안에 존재하면 되고, ko-KR 폴더 안에는 notepad.exe와 동일한 이름을 가진 .mui 파일이 있어야 한다.)
필자의 환경에서 시스템 언어는 한국어로 설정되어 있기 때문에 C:\Windows\System32\ko-KR 폴더 하위에 notepad.exe.mui 라는 파일이 존재하고 이 파일이 ko-KR 폴더 하위에 들어있기 때문에 notepad.exe를 실행할 수 있는 것이다.
Windows Vista 이후 버전에서는 Windows 이미지에 둘 이상의 언어를 포함할 수 있도록 이진 리소스와 언어 종속 리소스를 분리했다고 한다.
ko-KR과 같은 언어 폴더에는 notepad.exe와 같은 이름을 가진 .mui 파일이 포함되어 있고, 이 .mui 파일은 dll을 포함하여 리소스를 제공하는 모든 파일에 대해 하나씩 존재하는데 이 .mui 파일들은 리소스 폴더만 포함되고 있는 그대로 프로세스의 주소 공간에 고드되는 매우 기본적인 PE 파일이다.
이러한 파일은 이름으로 기본 파일에 연결된다.
메모장의 이름을 notepad에서 notepad_copy로 바꾸고, MUI 파일의 이름도 notepad에서 notepad_copy로 바꿔줌으로써 이름을 동일하게 맞춰주면 notepad_copy.exe는 잘 실행된다.
동일한 이름의 .mui 파일을 시스템 언어 폴더에 넣어도 실행되지 않는 경우
최근 Windows는 리소스 파일로 .mui 리소스 파일 이외에 C:\Windows\SystemResources 폴더에 존재하는 .mun 파일을 사용한다고 한다.
즉, notepad_copy.exe를 생성하고 notepad_copy.exe와 동일한 위치에 있는 시스템 언어 폴더 ko-KR 또는 en-US와 같은 폴더에 notepad_copy.exe.mui를 생성해도 notead_copy.exe가 실행되지 않는다면, C:\Windows\SystemResources 폴더 하위에 notepad_copy.exe.mun 파일을 생성하면 notepad_copy.exe가 실행된다는 것이다.
과정
1. C:\Windows\System32 폴더 내에서 notepad.exe를 복붙하여 notepad_copy.exe 생성
2. C:\Windows\SystemResources 폴더의 읽기 속성을 해제
3. C:\Windows\SystemResources 폴더의 디렉토리의 소유자를 TrustedInstaller에서 사용자 계정(Users)으로 바꾸고, 쓰기 권한을 준다.
4. C:\Windows\SystemResources 폴더에 notepad.exe.mun 파일을 복제하여 notepad_copy.exe.mun 파일을 생성한다.
5. C:\Windows\System32 폴더 하위에 있는 notepad_copy.exe를 실행한다.
참고 URL
https://superuser.com/questions/279031/copy-notepad-exe-from-system-folder-to-desktop-and-run-it
https://chp747.tistory.com/401
'How to > do' 카테고리의 다른 글
Github profile 꾸미기 (0) | 2022.08.10 |
---|---|
Hexo와 github로 블로그 사용하기 (0) | 2022.08.07 |
[막힘] MacOS에서 Ridibooks DRM 해제 (14) | 2021.05.10 |
안드로이드 스마트폰 개발자 옵션 켜기 (0) | 2021.01.31 |
MacOS에서 VirtualBox .vmdk / .vdi / .vhd 파일을 Parallels의 .pvm으로 변환하기 (0) | 2021.01.27 |