02 Device Driver Code
원문 : http://kkamagui.springnote.com/pages/570024
들어가기 전에...
- 이 글은 kkamagui에 의해 작성된 글입니다.
- 마음껏 인용하시거나 사용하셔도 됩니다. 단 출처(http://kkamagui.tistory.com, http://kkamagui.springnote.com)는 밝혀 주십시오.
- 기타 사항은 mint64os at gmail.com 이나 http://kkamagui.tistory.com으로 보내주시면 반영하겠습니다.
- OS 제작에 대한 상세한 내용은 책 "64비트 멀티코어 OS 구조와 원리"를 참고하기 바랍니다.
1.CR0 Write Protect Managment Code
- //
// 콘트롤 레지스터 관련 (IA-32 manual vol3, ch 2.5
// CR0 (Control Register Zero) 레지스터의 WP 비트(16)는 쓰기 속성제어에 사용됨
//
#define CR0_WP_MASK 0x0FFFEFFFF - /**
Write Protect를 제거
*/
VOID ClearWriteProtect(VOID)
{
__asm
{
push eax;
mov eax, cr0;
and eax, CR0_WP_MASK; // WP 클리어
mov cr0, eax;
pop eax;
}
} - /**
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 |