728x90

IDA 사용법

 

IDA는 바이너리 파일을 어셈블리어로 디스어셈블(disassemble) 해주는 프로그램 입니다.

바이너리 -> 어셈블리어 -> C언어 까지 변환을 해줍니다.

 

IDA를 통해 특정 바이너리를 열었을때

위처럼 바이너리의 함수들과 해당 함수들의 어셈블리어 코드들을 확인할 수 있다.

 

Hex-Ray

특정 함수 선택 및 f5 입력

어셈블리어를 C언어 소스코드로 변환해서 보여준다.

Search

Alt + T : 문자열 및 어셈블리어 검색

 

function list

Ctrl + p

함수목록을 보여주고 더블클릭시 해당 함수로 이동이 가능하다.

파일의 정보

TEXT View에서 가장 위쪽에 파일의 대략적인 정보를 확인할 수 있다.

 

 

어셈블리어 코드 수정하기

수정하고싶은 어셈블리 코드 클릭후 Alt + F2

어셈블리어 구문 삽입

바이너리 수정이아닌 분석 소스코드만 수정

 

 

Text View -> Layout Graph

Space bar 입력

text view상태에서 space를 입력하면 아래처럼 그래프 모드로 전환된다.

 

 

Stack Frame 확인하기

아래의 초록색 변수를 더블클릭하면 각 함수의 Stack Frame을 확인할 수 있고 각 변수들의 위치도 확인할 수 있다.

 

 

Jump to structure offset

이동하고 싶은 주소를 입력하면 해당 주소로 이동

단축키 : g

 

 

Search name

Ctrl + L

 

문자열 목록확인

Shift + F12

문자열 및 api 확인 가능

더블클릭시 해당 주소로 이동

이전단계로 돌아가기

ESC

ida에서 진행한 이동을 이전단계로 돌아간다.

 

xref call 따라가기

단축키  : x

특정함수 클릭 후 x를 입력하면 해당함수를 호출한 위치가 나온다. 더블클릭시 이동가능

 

함수 또는 변수 이름 바꾸기

단축키 : N

N입력시 아래처럼 함수명이나 이름을 변경할 수 있다.

 

북마크 기능

특정 주소 클릭 후 Alt + m

북마크 설명 설정

북마크 주소 목록 출력

Ctrl + M

북마크로 설정한 주소들이 출력된다.

 

 

IDA Debugging 모드

break point

F2

break point로 설정할 소스코드를 클릭하고 F2를 입력하면 아래사진처럼 bp가 설정된다.

Process run

F9

F9를 입력하면 process가 실행된다.

F7 : step into

F8 : step over

F5 : IDA View에서는 hexray 기능이고 debugging 모드에서는 run 기능이다.

Ctrl + F2 : 디버깅 종료

 

728x90

'study > 리버싱' 카테고리의 다른 글

IDA Python  (0) 2021.02.06

+ Recent posts