https://live2skull.tistory.com/13

 

IDA - 셋팅, 플러그인 모음

IDA 6.8 버전 기준. 들어가기 전에... IDA란? Interactive DisAssembler 의 약자로, 강력한 바이너리 정적 분석 기능을 가진 툴이라 할 수 있다. 특히 같이 설치되는 Hexray Decompiler 는 왠만한 ASM 코드를 가..

live2skull.tistory.com

 

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 는 코드 옆에 현재 스택 포인터 크기를 표시해 준다.




블로그 이미지

wtdsoul

,