본문으로 바로가기

IDA를 이용한 Kernel Debugging

category Reversing/Debugging Tech 2015. 4. 3. 18:17

IDA는 기본적으로 disassembler의 기능이 뛰어나지만 다른 debugger를 이용하여 debugging도 가능하다.

IDA에서 지원하는 windbg와 연동하는 plug-in을 이용하여 kernel debugging하는 방법이 존재한다.

 

준비

Debugging 할 PC(Windows7 vmware)

Windbg

IDA

 

설정

Host PC에 IDA 및 Windbg 설치 후 symbol path 설정

  • d:\Symbols;srv*d:\Symbols*http://msdl.microsoft.com/download/symbols

 

Guest PC(windows 7)의 boot menu 추가

  • bcdedit /copy {current} /d "Debug"

 

시작 - 실행 - msconfig - 부팅 - "Debug"클릭 - 고급 옵션 - 디버그 체크

 

Vmware setting - add - serial port - pipe  

 

IDA 실행 후 메뉴에서 debugger - attach - windbg debugger 선택

 

Connect string 부분에 원격 debugging 할 Windows 7 pipe 입력

  •  com:port=\\.\pipe\ruinick,pipe

Debugging Options - set specific options - kernel mode debugging 체크

 

Windows 7(vmware) 시작 후 ok 클릭 (vmware가 시작되지 않으면 attack 할 프로세스가 보이지 않는다)

Windows 7(vmware)에서 Debug로 부팅 후 프로세스 연결

 

연결이 되면 실행 중이라고 창이 뜨며 원할 때 suspend 버튼을 클릭하여 일시정지 가능

부팅이 완료되면 suspend 버튼 클릭 후 Debugging 시작