인터넷을 검색해봐도 IDA를 이용한 원격디버깅 방법을 자세히 설명한게 없어 한번 작성해 봤습니다.
도움되었으면 합니다.
----------------
IDA는 원격 디버깅 기능으로 네트워크가 연결될 경우 다른 OS의 파일을 디버깅 할 수 있다. 하지만, 테스트 결과 Windows IDA로 Mac 실행 파일을 Windows IDA로 디버깅 할 경우 오류가 잦아 Mac IDA로 디버깅 하라는 조언을 받았다. 따라서, Mac의 가상 머신(여기서는 VMware Fusion 이용)에 OS X을 설치하고 원격 디버깅하는 방법을 선택했다.
실제 Mac
1. 실제 Mac 시스템에 IDA Pro 설치
원격 Mac (가상머신)
원격 디버깅 대상이 되는 시스템 (여기서는 VMware Fusion에 OS X 10.7 Lion 설치)에 몇 가지 설정이 필요하다.
1. mac_server, mac_serverx64 복사
본 테스트에서는 [사용자]\Util에 mac_server와 mac_serverx64를 복사했다.
해당 파일은 설치된 IDA에서 찾을 수 있다.
2. 권한 변경
OS X에서 원격 디버깅을 위해 권한 설정이 필요하다.
chgrp procmod mac_server와 chmod g+s mac_server으로 권한을 변경한다. 이때 관리자 권한이 필요하므로 sudo 명령 등으로 실행 한다.
이 과정은 한번만 하면 된다.
3. mac_server로 포트 열기
관리자 모드에서 mac_server를 실행해(sudo ./mac_server) 외부에서 접속할 수 있게 포트를 열어둔다. 분석 대상 파일이 64 비트일 경우 mac_serverx64를 실행한다. 포트가 열릴 때까지 보통 몇 초 정도 걸린다.
원격 디버깅 방법
IDA가 설치된 실제 Mac 시스템에서 원격 디버깅 대상 시스템에 접속한다.
1. IDA의 ‘Debugger’ 메뉴에서 ‘Run’을 선택해 디버깅 대상 파일 설정
포트가 제대로 열렸을 경우 실제 Mac에 설치된 IDA에 Debugger의 Run와 Attach 메뉴가 활성화된다. 원격 대상 시스템이 OS X이므로 ‘Remote Mac OS X debugger’를 선택한다.
Application에 디버깅 대상 파일을 지정하는데 이때 디렉토리 위치까지 지정해 줘야 한다.만약 파일이름만 지정한 경우 mac_server가 실행된 디렉토리에서 파일을 찾는다.
2. 제대로 연결되면 디버깅 가능
이제부터 본인의 디버깅 능력에 달려있다.
주의 사항
1. 디버깅 대상 파일에 맞는 IDA 버전을 이용
32 비트 실행 파일은 mac_server과 32비트 IDA로 64 비트 파일은 mac_serverx64과 64비트 IDA를 실행해야 한다.
만약 분석 대상이 64비트인데 mac_server를 실행 후 원격 디버깅하면 파일 종류가 맞지 않아 ‘Warning: bad file or could not find a member with matching cpu type
Error: oops! Internal error 618’ 등과 같은 오류가 발생한다.
참고자료
[1] http://www.hex-rays.com/products/ida/debugger/mac/index.shtml
'Reverse Engineering > 분석도구' 카테고리의 다른 글
IDA Pro OPCode Hex 표시 (0) | 2024.08.22 |
---|---|
Adobe Flash 설치판 다운로드 주소 (0) | 2017.02.16 |
MD5 값 얻기 (1) | 2009.12.15 |
가상화 프로그램 Virtual PC vs VMware (2) | 2009.10.12 |
헥사에디터 : Hiew 8.00 (0) | 2009.07.16 |