https://github.com/bootleg/ret-sync
설치 및 상세 매뉴얼
- 구성
ext_windbg/sync: WinDbg extension source files, once built: sync.dll
ext_gdb/sync.py: GDB plugin
ext_lldb/sync.py: LLDB plugin
ext_olly: OllyDbg v2 plugin
ext_x64dbg: x64dbg plugin
ext_ida/SyncPlugin.py: IDA plugin, receive async events from broker
ext_ida/broker.py:
bind a socket on a random port
connect to dispatcher
just a socket->stdout event pump
ext_ida/dispatcher.py:
bind a TCP socket on localhost:9100 by default (see "Configuration file"),
receive events from a debugger
dispatch events to appropriate idb through their broker
- 전제 조건
IDA 6.9 이후 버전은 IDAPython이 PySide에서 PyQt5로 변경되었기 때문에 다음 과정이 필요없음.
IDA 6.6에서 6.9 사이 버전은 PySide가 내부에 포함되어있어 별도 설치 필요 x
6.6 버전 이전에는 PySide 설치가 필요함
다음을 참조 :
http://www.hex-rays.com/products/ida/support/download.shtml
for installation notes see: http://www.hexblog.com/?p=333
WinDbg 확장에 필요한 개발환경(비주얼 스튜디오 2013 이상)
argparse 가 포함된 Python (Python2.7 버전 이상에는 standard library에 포함됨)
-설치 및 사용 방법
1. https://github.com/bootleg/ret-sync 에서 전체 소스코드 및 스크립트 다운로드
2. 분석할 대상 파일을 열고 idb 저장
3. File -> Script File(Alt+F7)을 이용해 다운받은 ret-sync 디렉토리의 ext_ida에서 SyncPlugin.py을 로드
** IDA 6.9 이상의 버전은 PyQt5를 사용하므로 ext_ida 경로의 SyncPlugin.py를 로드하면 되지만, 6.9 이전 버전은 PySide를 사용하므로 ext_ida 폴더 내의 compat_pyside에 broker.py와 dispatcher.py를 복사하고 해당 폴더 안의 SyncPlugin.py를 로드하여야 함.
성공적으로 로드가 된 모습.
- WinDbg와 IDA 연동 방법
1. ext_windbg 의 sync를 비주얼 스튜디오로 컴파일하여 sync.dll 생성
2. WinDbg가 설치 된 경로에 sync.dll 넣기
3. IDA 로 분석할 대상 열고 이전 과정과 같이 스크립트 로드
4. WinDbg로 동일한 분석 대상 오픈
5. .load sync 로 sync.dll 불러오고 !sync 명령
6. IDA output window에서 정상적으로 sync 되었는지 확인
7. !idblist를 해보면 연결되어있는 idb를 확인할 수 있음
끝! 이제 잘사용하면 됨 ^_^
'기술 문서 > 악성코드분석' 카테고리의 다른 글
게임핵 위장 악성코드 분석 (0) | 2017.11.21 |
---|---|
Themida API 분석 방지 기법 (0) | 2017.06.28 |