IDA 사용법

챠챠비둘기·2023년 4월 4일
0

리버싱😎☠️

목록 보기
5/7

IDA

The Interactive Disassembler (IDA)는 Hex-Rays 사에서 제작한 디스어셈블러이다. IDA의 메인 기능은 디스어셈블이지만 이 외에도 여러 환경에서의 디버깅과 다양한 아키텍처 디컴파일과 같이 여러가지 기능을 제공하기에 굉장히 편리하고 유용한 툴이다. 이 때문에 바이너리를 분석해야 하는 리버스 엔지니어링 업무에는 대다수 IDA를 이용한다. 하지만 매우매우매우매우 비싸기에 회사에서 쓰는 게 아닌 이상 ida freeware를 쓰거나, 불법 복제본을 사용하는 경우가 많다...😅

IDA를 키고 파일을 로드하면 위의 창이 뜨는데, 웬만하면 IDA가 파일을 올바르게 파악해서 분석방법을 제시하기 때문에, 그냥 ok 누르면 된다.

function window


IDA에서 분석한 프로그램의 함수를 나열하는 창이다. 해당 창에서 Ctrl + F 단축키를 통해 원하는 함수를 찾을 수 있다(Ctrl+f는 정말 어딜가든 유용한 단축키같다ㅋ)

Graph overview

함수를 그래프화하여 사용자에게 보여주는 창이다. 해당 창을 통해 함수의 흐름을 파악할 수 있다. 하지만 x64나 olly디버거를 쓰다 온 사람은 보기 불편할 수 있다.(나처럼...)

Output Window

분석 과정을 메시지로 출력하는 창이다. 해당 창을 통해 IDA의 분석 과정을 알 수 있으나, 웬만하면 알아서 잘 해주기 때문에 많이 신경쓰지 않아도 된다.

View

제일 많이 보고, 제일 중요한 창이다. 디컴파일 결과, Hex-View, 구조체 목록 등의 화면을 표시하는 창이다.

IDA 단축키

g

임의의 주소 또는 레이블로 이동할 수 있다.

n

함수 및 변수 이름을 재설정할 수 있다. 정의되지 않은 함수 및 변수의 경우 해당 기능을 통해 이름을 설정하여 분석 속도를 향상시킬 수 있다.

사실 그대로 두는게 더 찾기 쉽고 보기도 편하다. 개인적으로 거의 쓸일이 없다고 생각한다.

디컴파일

IDA의 알파이자 오메가. ㅈㄵㄵㄵㄴ 중요함
이거 때문에 IDA를 쓰는 거라 보면 된다.
전체 디컴파일: Ctrl+F5
함수 디컴파일(부분 디컴파일: 함수클릭 후 + F5

전체를 디컴파일하면, c파일로 컴퓨터에 저장된다.

요렇게😍

x

임의의 함수 또는 변수를 클릭하고, 단축키 X를 사용하면 해당 함수 및 변수가 사용되는 영역을 재참조할 수 있다.

y

임의의 함수 또는 변수를 클릭하고, 단축키 Y를 사용하면 해당 함수 및 변수의 타입을 지정할 수 있다. 함수의 경우, 전달되는 매개 변수를 추가하거나, 타입을 변경할 수 있다.


이 외에도 유용한 기능을 추가해 보자면, 문자열 찾기가 있다.

출력되는 문자열의 값을 찾아볼수 있다.

지금까지 간략하게 IDA의 기능들을 소개했다.
아직 IDA를 직접적으로 다뤄본 지 얼마 안되어서 모르는 부분들도 많다.
차차 워게임을 풀어보고 구글링도 하고 개념도 정리하면서 여기에 소개된 기능 외의 여러 유용한 기능들을 추가할 예정이다.

profile
개발 + 보안

0개의 댓글