IDA 로 x64 바이너리를 디버깅 하거나, 다른 아키텍쳐의 바이너리를 디버깅하려면
다음과 같이 리모트 디버깅을 해야한다. 실제 네트워크 원격의 컴퓨터에서 하거나 VM 에서 하면된다.
IDA 설치폴더에 보면 아키텍쳐별로 리모트 디버깅 서버 데몬들이 존재한다.
디버깅하려는 시스템상에 이 서버데몬들을 돌리고 네트워크 상에서 접속을 하면 새 프로세스를 run 하거나 기존 프로세스를 attach 할수있다.
디버깅 서버데몬을 원격의 타겟플랫폼에 돌려놓고, 로컬에서 IDA 로 다음과 같이 Remote 디버깅 메뉴를 선택하면
서버의 IP/PORT 와 디버깅하고자 하는 파일의 경로(타겟 플랫폼에서의 경로) 를 입력받는 창이 나온다. 올바르게 입력하면
디버깅이 시작된다.
타겟 플랫폼쪽의 리모트 디버깅 서버 화면은 다음과 같게된다...
이런식으로 커널도 디버깅 할 수 있고 ARM, x64 등 뭐든 디버깅 할 수 있다.
생각보다 간단하다.
'Programming' 카테고리의 다른 글
Alpine Linux on QEMU (0) | 2013.06.28 |
---|---|
QEMU compile on Ubuntu12.04 (0) | 2013.06.27 |
x64 parameter passing (0) | 2013.06.24 |
kernel module cross compile makefile (1) | 2013.06.14 |
Xilinx QEMU bridge mode (0) | 2013.06.14 |