이 작업을 수행하게 된 계기는...
프로그램 실행시에 Ctrl + Alt + Del (이하 CAD)키의 입력을 막는 것에서 부터 시작되었음.
윈도우 XP까지는 DllInjection을 이용하여 CAD를 막을 수 있었는데. 7에서는 동작하지 않음.
찾아보니.. CAD는 키보드 입력 후킹을 해도 잡아낼 수 없는 녀석... 얘는 winlogon.exe가 가져가는 인터럽트. 윈 XP에서야 나도 같은 세션에 있으니 dll Injection이 가능했으나, 7부터 (정확하게는 Vista부터라 추측하지만, 비슷하에서 돌려보지 않았으므로, 7부터라 표기)는 권한이 없어서 쓰지 못한다.
하긴... 그도 그럴것이.. DllInjection자체는 매우 훌륭한 악성코드감염비법(?)이 될 수 있으니까.
여튼.. CAD를 막으려면 막을 수는 있는 것 같다. (매우 로우레벨까지 내려가야한다는 comment를 stackoverflow에서 얼핏 봄.)
하지만, 난 그런 레벨도 안되니 패스..
요는 CAD화면에서, PC를 종료 / 로그오프 / 다른세션으로 전환 / 작업관리자 등등을 막는게 주 목표이므로.. 검색해보니 레지스트리 설정만으로 바로 제어 가능하다.
그 키의 위치는 아래와 같음. (모든 값은 REG_DWORD)
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer
NoLogoff : 로그오프 메뉴. 1이면 숨김, 0이면 표시
NoClose : CAD화면 우측 하단의 종료 메뉴. 1이면 숨김, 0이면 표시
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System
DisableChangePassword : 비밀번호 변경. 1이면 숨김
DisableLockWorkstation : 윈도우 잠금 메뉴, 1이면 숨김.
DisableTaskMgr : 작업관리자 실행메뉴, 1이면 숨김.
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System
HideFastUserSwitching : 사용자 전환 메뉴. 1이면 숨김
댓글