2003/시스템 파일 보호 기능 완전히 끄기
게시일: 2006/09/27 | 글쓴이: doa | 9244 번 | 프린트 | 메일


2000에서 부터 도입된 시스템 파일 보호 기능은 사용자가 부주의하게 시스템 파일을 변경하거나 각종 악성 소프트웨어나 바이러스에 의해 시스템 파일이 변경되는 것을 막는 좋은 보호 장치이다. 그러나 동전의 양면이 있듯 이 기능이 필요한 사람이 있다면 당연히 필요없는 사람도 있으며 따라서 선택권은 최종 사용자에게 주어져야 한다고 생각한다.

시스템 파일 보호 기능의 사용 여부는 처음에는 사용자에게 주어졌지만 XP에 도입되면서 부터는 OS가 결정하며, 사용자 설정은 더 이상 동작하지 않게됐다. 따라서 필자는 시스템 파일 보호 기능을 우회하거나 사용할 수 없도록 하는 팁을 작성했었다.



그런데 얼마 전 부터 사용한 Windows 서버 2003에서는 이들 팁이 동작하지 않는 다는 것을 알았다. 당연한 얘기지만 XP를 기준으로 헥사 편집을 한 것이라 OS가 바뀌면서 SFC_OS.DLL 파일도 바뀌었기 때문이다. 따라서 이번 팁에서는 서버 2003에서 시스템 파일 보호 기능을 완전히 끄는 방법을 설명하겠다.

기본적으로 이 팁은 헥사 편집에 사용되는 옵셋만 차이가 날 뿐 파일 보호 기능 완전히 끄기 II와 거의 동일하다.

파일 보호 기능 완전히 끄기복구 콘솔에서 적용할 수 밖에 없는 이유는 SFCDisable 값을 무조건 0(기본값)으로 되돌리는 프로세스가 따로 있기때문이다(추측). 이번 팁에서는 복구 콘솔을 통하지 않고 파일 보호기능을 완전히 끄는 방법을 설명하겠다.

경고: 이 팁은 윈도우의 중요 시스템 파일을 변경하는 팁이다. 이팁을 적용한 결과에대한 책임은 팁을 적용한 사람 각자에 있으며 필자는 어떠한 책임도 질 수 없음을 미리 밝힌다.

  • SFC_OS.DLL 패치
    1. 자주 사용하는 헥사 편집기주1%SystemRoot%\System32 폴더의 SFC_OS.DLL을 읽어들인다.
    2. 헥사 편집기로 읽어 들인 파일을 다음 표에따라 편집한다. 즉, 옵셋에서 지정한 위치로 이동한 후, 변경전의 값을 변경후의 값으로 고치면된다.
      버전 빌드 옵셋 패치
      SP1 3790 138~13A 주2
      변경전: D3 40 02
      변경후: D7 0A 03
      F012~F013
      변경전: 8B C6
      변경후: 90 90
    3. 헥사 편집기로 변경한 파일을 임시 폴더(예: D:\Temp)에 저장하고 헥사 편집기를 종료한다주3.
    4. 임시 폴더에 저장된 SFC_OS.DLL 파일을 시스템 파일 보호기능 쉽게 우회하기를 참조해서 %SystemRoot%\System32\DllCache 폴더와 %SystemRoot%\System32 폴더에 복사한다주4.


  • 레지스트리의 변경
    1. 시작/실행/regedit를 입력하고 확인을 클릭한다.
    2. 다음 레지스트리로 이동한다.
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    3. REG_DWORD 형의 SFCDisable를 추가하고, 다음 기준에따라 윈도우 파일 보호 기능을 설정한다.
      0WFP/SFC.사용
      1WFP/SFC 사용 안함. 다시 사용하려는 경우 확인 창이 뜸.
      2WFP/SFC 사용 안함. 다시 사용하려는 경우 확인창이 뜨지않음.
      4WFP/SFC 사용. 확인 창이 뜨지 않음.
      FFFFFF9DWFP/SFC를 완전하게 사용하지 않음


윈도우즈의 시스템 파일 보호 기능바이러스나 잘못된 응용 프로그램에의해 시스템의 중요한 파일이 변경되는 것을 막을 수 있는 XP의 아주 중요한 기능이다. 따라서 필자는 초보자의 경우 가급적 이 기능을 사용할 것을 권고 한다. 만약 이팁을 적용한 후, 파일 보호 기능을 다시 사용하려면 레지스트리의 변경의 3단계에서 SFCSetting의 값을 0으로 설정하면된다주5.

주1: 필자는 주로 FlexHex를 사용한다. 공개 헥사 편집기를 원하는 경우 XVI32 를 다운받기 바란다.

주2: 위의 DLL에서 찾은 바이트가 위의 값과 정확히 일치하지 않은 경우 변경해서는 안된다.

주3: 기존의 팁, 파일 보호 기능 완전히 끄기 II에서는 SFCDisable의 값을 0으로 되돌리는 프로세스때문에 참조하는 레지스트리를 SFCDisabe에서 SFCSetting로 변경했지만 이 번 팁에서는 SFCDisable의 값을 0으로 되돌리는 프로세스까지 패치했으므로 따로 패치하지 않았다.

주4: SFC_OS.DLL 파일을 복사하기전에 %SystemRoot%\System32 폴더의 SFC_OS.DLL의 이름을 먼저 변경해야 한다.

주5: SFCSetting데이타 값0으로 설정하면 이전에 삭제된 폴더들이 다시 생성된다. 이러한 폴더에 대한 정보는 sfcfiles.dll 파일에 저장되어있다.


2003/wmpub 폴더 삭제하기 필자는 폴더 관리를 조금 철저하게하는 편이다. 인터넷에서 ... (7436) 2006-09-27
GMail을 위한 PHPMailer 해킹 얼마 전에 올린 강좌, 구글 메일 호스팅 사용하기에서 알... (9564)2006-09-26

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기



RSS 구독 (익명 | 회원 | 강좌 | 포럼)
(C) 1996 ~ 2017 QAOS.com All rights reserved.