티스토리 뷰

Reversing/Tool

IDA - 셋팅, 플러그인 모음

live2skull 2016. 4. 29. 00:50

IDA 6.8 버전 기준.


들어가기 전에...

IDA란? Interactive DisAssembler 의 약자로, 강력한 바이너리 정적 분석 기능을 가진 툴이라 할 수 있다.

특히 같이 설치되는 Hexray Decompiler 는 왠만한 ASM 코드를 가상 C언어 Pseudocode로 변환하고, 이를 기반으로 디버깅 할 수 있는 점이 큰 장점으로 꼽히고 있으며, C++, Python을 기반으로 하는 다양한 플러그인을 제작해 사용할 수 있다.

이 외에도 찾아보면 다양한 장점이 존재한다.


- 셋팅


1. 플러그인 설치

먼저, 초기 설치 시 같이 설치되는 IDAPython을 설치하지 않았다면, 과감하게 전체 삭제 후 다시 설치하자.

물론 수동으로 나중에 따로 설치해도 되겠지만 이거 은근히 귀찮고 잘 안된다.


플러그인은 크게 %IDA_INSTALLED_DIR%\Plugins 에 파일을 넣어 설치형으로 사용하는 것과, 필요할 때마나 스크립트를 로드하여 사용하는 두 가지 방식이 있다.


! 계속해서 추가 중.


설치형 플러그인.

[LINK] IDATheme

- 하얀색 배경에 싸 보이는 IDA에 블랙 계열의 멋있는 테마를 적용 시켜준다.

[LINK] IDAConsonance

- IDATheme 같이 사용해 IDA-View 부분의 테마 파일. 디버거 테마는 따로 설정해야 된다. 상단의 Options -> Color -> Import 에서 로드해주면 자동 적용된다.

[LINK] IDAPatcher

- NOP패치 등 간단한 바이너리 패치 작업을 좀 더 편리하게 해준다.

[LINK] IDASploiter

- ROP Gadget, Function Pointer 검색 등 익스플로잇 작성 편의를 위한 플러그인.

[LINK] Class Informer

- Windows C++ 을 기반으로 한 WIN32 바이너리의 클래스 및 구조체를 역추적해준다. GCC 컴파일러 기반 바이너리도 일부 지원한다.

[LINK] HexRaysCodeXplorer

- Windows C++ 및 GCC 컴파일러를 기반으로 한 바이너리의 클래스 및 구조체를 역추적하고, IDA Pseudocode 플러그인에서 Virtual Pointer를 분석해 (objpointer + x) 와 같은 메모리 주소를 변수 이름으로 할당해 줄 수 있다. Class Informer 보다 더 좋은 것 같음.


실행형 플러그인.

[LINK] vb.idc 

- Visual Basic 6.0 컴파일러로 컴파일된 바이너리를 인식하지 못하는 IDA에 도움을 준다.

[LINK] funcap

- 디버깅 모드에서 모든 함수의 호출 과정과 인자값을 모조리 기록한다. 간단한 멜웨어 분석 시 도움될지도.

[LINK] bfltldr

- MIPS, ARM 으로 컴파일된 ELF 중 bFLT 형식을 가진 바이너리를 로드할 수 있게 해준다. 이 플러그인이 없다면, IDA는 단순 binary file로 밖에 인식하지 못함.


2. 설정

Options -> General -> Disassembly 에서 우측의 "Line prefixes", "Stack pointer"를 체크해 준다.

Line prefixes 는 IDA-View의 그래프 모드에서 코드 옆에 메모리 주소를 표시해 준다.

Stack pointer 는 코드 옆에 현재 스택 포인터 크기를 표시해 준다.


'Reversing > Tool' 카테고리의 다른 글

IDA와 Ollydbg 의 esp 표시 차이와 스택 포인터에 대해  (0) 2016.05.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함