본문 바로가기

SEC/DH

[REV] IDA 사용법

IDA (Interactive Disassembler)

IDA는 디스어셈블과 여러 환경에서의 디버깅 및 다양한 아키텍처에서의 디컴파일과 같은 여러가지 기능 제공한다.

바이너리 분석이 필요한 리버스  엔지니어링 업무에서 사용되며 여러가지 라이센스가 있다.

이 중 무료버전인 IDA freeware는 아래 경로에서 다운받을 수 있다. (x64 아키텍처만 디컴파일 기능을 제공)

https://hex-rays.com/ida-free/

 

IDA Freeware

IDA Freeware The free binary code analysis tool to kickstart your reverse engineering experience.

hex-rays.com

 

IDA 인터페이스

1. Function Window

IDA에서 분석한 프로그램 함수를 보여주며, Ctrl + F 를 통해 원하는 함수 검색이 가능하다.

 

2. Graph Overview

함수를 그래프화하여 함수의 흐름을 파악할 수 있다.

 

3. Output Window

IDA의 분석 과정을 메시지로 출력하여 보여준다.

 

4. View

IDA View, 디컴파일 결과, Hex-View, Structures 등을 보여준다.

 

IDA  기능

정적 분석 기능

1. 임의 주소 및 레이블 이동

단축키 G : 임의 주소 및 레이블 이동

 

2. 함수 및 변수 이름 재설정

단축키 N : 함수 및 변수 이름 재설정

 

3. Cross Reference (Xref)

단축키 X : 함수 및 변수가 사용되는 영역을 재참조

 

4. 함수 및 변수 타입 변경

단축키 Y :  해당 함수 및 변수의 타입 지정

 

5. 문자열 (String)

단축키 Shift + F12 : 바이너리에 사용되는 모든 문자열 조회

 

6. 디컴파일 (Decompile)

단축키 F5 : 어셈블리를 C 언어의 형태로 변환하여 보여줌

 

동적 분석 기능

[디버깅 실행 전]

1. 디버깅 실행 (Run)

단축키 F9 : 프로그램 디버깅 실행 또는 계속 실행

 

2. 중단점 설정 (Break Point)

단축키 F2 : 중단점 설정 (해당 지점 도달 시 프로그램 정지)

 

[디버깅 실행 후]

1. 한 단계 실행 (Step Over)

단축키 F8 : 어셈플리 코드 한줄 실행 (함수 내부 진입 X)

 

2. 함수 내부 진입 (Step Into)

단축키 F7 : 어셈블리 코드 한줄 실행 (함수 내부 진입 O)

 

3. 값 변경 

단축키 F2 : 변수 값 변경 및 저장

 

4. 재시작 (Restart)

단축키 Ctrl + F2 : 디버깅 중단

 

함수 패치 기능

1. 패치할 함수 이동 (단축키 G)

 

2. 인스트럭션 입력

Edit - Patch Program - Assemble 

Instruction 입력 창에 어셈블리어 입력

 

3. 바이너리 적용

Edit - Patch Program - Apply patch es to input file

 

 

 

 

 

 

 

 

 

 

'SEC > DH' 카테고리의 다른 글

[WEB] XSS 우회 #2  (0) 2022.07.16
[WEB] XSS 우회 #1  (0) 2022.07.16
[WEB] SQL Injection #1  (0) 2022.07.10
[WEB] XSS (Cross Site Scripting) 테스트  (0) 2022.03.21