02 Device Driver Code

원문 :  http://kkamagui.springnote.com/pages/570024

 

들어가기 전에...

 

 

1.CR0 Write Protect Managment Code

  1. //
    // 콘트롤 레지스터 관련 (IA-32 manual vol3, ch 2.5
    //    CR0 (Control Register Zero) 레지스터의 WP 비트(16)는 쓰기 속성제어에 사용됨
    // 
    #define   CR0_WP_MASK     0x0FFFEFFFF
  2.  
  3. /**
     Write Protect를 제거
    */
    VOID  ClearWriteProtect(VOID)

        __asm 
        {   
            push  eax;   
            mov   eax, cr0;   
            and   eax, CR0_WP_MASK; // WP 클리어   
            mov   cr0, eax;   
            pop   eax; 
        }
    }
  4. /**
     Write Protect를 설정
    */
    VOID  SetWriteProtect(VOID)

        __asm 
        {   
            push  eax;   
            mov   eax, cr0;   
            or    eax, not CR0_WP_MASK; // WP 비트 세팅   
            mov   cr0, eax;   
            pop   eax; 
        }
    }

 

 

 

이 글은 스프링노트에서 작성되었습니다.

'Windows System Application' 카테고리의 다른 글

60 유용한 팁  (0) 2007.11.14
10 WinDbg 간단 사용법  (0) 2007.11.14
04 PE 파일 분석-Relocation 분석  (4) 2007.11.14
03 PE 파일 분석-Export 분석  (0) 2007.11.14
02 PE 파일 분석-Import 분석  (0) 2007.11.14

+ Recent posts