본문 바로가기

기술 문서/악성코드분석

ret-sync 설치 및 windbg - IDA 연동 방법

반응형

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 이후 버전은 IDAPythonPySide에서 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_pysidebroker.pydispatcher.py를 복사하고 해당 폴더 안의 SyncPlugin.py를 로드하여야 함.


성공적으로 로드가 된 모습.


- WinDbgIDA 연동 방법

 

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