⌨ DEVELOPMENT/Windows Kernel
안전모드에서도 디바이스 드라이버를 로드하기
안전모드에서도 디바이스 드라이버를 로드하기
2015.04.26안전모드에서 디바이스 드라이버를 사용하기 위해서는 드라이버를 정적 로딩을 해야 한다. 정적 로딩을 하기 위해서는 CreateService() 호출시 SERVICE_BOOT_START 로 등록후 리부팅을 해야 한다. SERVICE_BOOT_START 로 등록하기 위해서는 .sys 파일이 c:\windows\system32\drivers 에 있어야 한다. 정적 등록된 드라이버를 안전모드에서 사용하기 위해서는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\MinimalHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network 에 드라이버 이름으로 키를 만드고 (확장자 불필요), 기본값..
Windbg 명령어 모음
Windbg 명령어 모음
2015.03.21eb eb 주소값 00 00 00 00 00 : 주소값부터 시작해서 5바이트를 00으로 채운다. - 심볼이 맞는지 확인하는 명령 0:000> !chksym ntdll - ntdll의 Export 함수 변경여부 확인하는 명령 0:000> !chkimg ntdll -d - notepad.exe의 _EPROCESS 주소 찾기 kd> !process 0 0 notepad.exe - notepad.exe의 스레드 주소 찾기(full detail 얻기) kd> !process _EPROCESS 7 PROCESS 8a3ceda0 SessionId: 0 Cid: 00f0 Peb: 7ffd7000 ParentCid: 0748 DirBase: 53ca5000 ObjectTable: e180c200 HandleCount: ..
Kernel debugging Windbg Symbol Path
Kernel debugging Windbg Symbol Path
2015.03.21Windbg에서 디버깅을 하기위해선 심볼을 설정해주어야한다. File -> Symbol Search Path 에 다음과 같이 입력해주면 된다. SRV*c:\symbols*http://msdl.microsoft.com/download/symbols 커널디버깅 중 심볼을 로드하는경우kd> .reload 명령어를 통하여 심볼을 재등록하도록 한다.