IDA는 디스어셈블러입니다. IDA의 메인 기능은 디스어셈블이지만 이 외에도 여러 환경에서의 디버깅과 다양한 아키텍처 디컴파일과 같이 여러 가지 기능을 제공합니다.
Functions window
IDA에서 분석한 프로그램의 함수를 나열합니다. 해당 창서 Ctrl + F 단축키를 통해 원하는 함수를 찾을 수 있습니다.
임의 주소 및 레이블 이동
단축키 G를 사용해 임의 주소 또는 레이블로 이동할 수 있습니다.
함수 및 변수 이름 재설정
단축키 N 을 사용해 함수 및 변수 이름을 재설정할 수 있습니다. 정의되지 않은 함수 및 변수의 경우 해당 기능을 통해 이름을 설정하여 분석 속도를 향상시킬 수 있습니다.
Cross reference (Xref)
임의의 함수 또는 변수를 클릭하고, 단축키 X 를 사용하면 해당 함수 및 변수가 사용되는 영역을 재참조할 수 있습니다.
함수 및 변수 타입 변경
임의의 함수 또는 변수를 클릭하고, 단축키 Y 를 사용하면 해당 함수 및 변수의 타입을 지정할 수 있습니다. 함수의 경우, 전달되는 매개 변수를 추가하거나, 타입을 변경할 수 있습니다.
Strings
단축키 Shift + F12를 사용해 바이너리에서 사용하는 모든 문자열을 조회할 수 있습니다. 함수의 심볼이 존재하지 않거나, 복잡할 경우 문자열을 통해 분석 시간을 크게 단축할 수 있습니다.
- BreakPoint(F2): 중단점을 설정합니다. 프로그램이 해당 지점에 도달하는 순간 정지합니다.
- Restart(Ctrl + F2): 디버깅을 중단합니다.
- Run(F9): 프로그램을 계속 실행, 또는 디버깅을 시작합니다.
- Step Into(F7): 어셈블리 코드를 한 줄 실행합니다. 함수의 호출이라면, 함수 내부로 들어갑니다.
- Step Over(F8): 어셈블리 코드를 한 줄 실행합니다. 함수 내부로는 들어가지 않습니다.
- 함수/주소 이동 (g): 입력한 함수, 주소로 이동합니다.
- 상호참조 (x): 함수, 변수를 사용하는 곳을 찾을 수 있습니다.
- 브레이크 포인트 (F2): 디버깅 시 중단점을 설정할 수 있습니다.
- Step Over (F8): 디버깅 시 인스트럭션 하나를 실행합니다. 이때 함수를 만날 시 해당 함수는 바로 실행합니다.
- 실행 (F9): 바이너리를 실행합니다. 이 때 실행 도중 중단점을 만나면 멈추게 됩니다.
- Edit - Patch Program: 바이너리 패치와 관련된 메뉴가 존재합니다.
'Dreamhack - Reverse Engineering' 카테고리의 다른 글
Exercise: rev-basic-1 (0) | 2022.02.18 |
---|---|
Exercise: rev-basic-0 (0) | 2022.02.18 |
Exercise: Helloworld (0) | 2022.02.18 |
x86 Assembly🤖: Essential Part(2) (0) | 2022.02.18 |
x86 Assembly🤖: Essential Part (0) | 2022.02.18 |