- Hex-Rays SA에서 개발하여 판매중인 상용 디스어셈블러로, 주로 리버스 엔지니어링을 위한 디버거로 이용된다.
▶ 단축키 & Tips
- Functions Window 창의 "start" 가 프로그램이 시작될 때, 메모리에 올라올 때 제일 처음 실행되는 진입점이라고 보면 된다.
- BreakPoint(F2): 중단점을 설정한다. 프로그램이 해당 지점에 도달하는 순간 정지한다.
- Restart(Ctrl + F2): 디버깅을 중단한다.
- Run(F9): 프로그램을 계속 실행, 또는 디버깅을 시작한다.
- Step Into(F7): 어셈블리 코드를 한 줄 실행한다. 함수의 호출이라면, 함수 내부로 들어간다.
- Step Over(F8): 어셈블리 코드를 한 줄 실행한다. 함수 내부로는 들어가지 않는다.
- 이름 재설정(n) : 함수, 변수의 이름을 변경한다.
- 숫자-문자 아스키코드 변환(r) : 아스키코드 테이블에 따라 숫자는 문자로, 문자는 숫자로 변환한다.
- Ctrl + F 단축키를 통해 원하는 함수를 찾을 수 있다.
- 단축키 G를 사용해 임의 주소 또는 레이블로 이동할 수 있다.
- 임의의 함수 또는 변수를 클릭하고, 단축키 X를 사용하면 해당 함수 및 변수가 사용되는 영역을 재참조할 수 있다.
- 임의의 함수 또는 변수를 클릭하고, 단축키 Y를 사용하면 해당 함수 및 변수의 타입을 지정할 수 있다. 함수의 경우, 전달되는 매개 변수를 추가하거나, 타입을 변경할 수 있다.
- 단축키 Shift + F12를 사용해 바이너리에서 사용하는 모든 문자열을 조회할 수 있다.
- Edit - Patch Program: 바이너리 패치와 관련된 메뉴가 존재한다.
- 어셈블리 인스트럭션 패치하기
(1) 대상 함수로 이동하고 원하는 인스트럭션에 커서를 올린 후 Edit - Patch Program - Assemble... 메뉴를 클릭하면 인스트럭션을 입력할 수 있는 창이 표시된다.
(2) 원하는 인스트럭션을 입력한다.
(3) 패치한 내용을 실제 바이너리에 적용하기 위해 Edit - Patch Program - Apply patches to input file... 메뉴를 클릭한다. 적용 창에서 아무것도 변경하지 않고 OK를 누르면 바이너리 패치가 실제 파일에 적용된다.
▶ Functions window
- IDA에서 분석한 프로그램의 함수를 나열하는 창이며, 해당 창에서 Ctrl + F 단축키를 통해 원하는 함수를 찾을 수 있다.
▶ Grape overview
- 함수를 그래프화하여 사용자에게 보여준다. 해당 창을 통해 함수의 흐름을 파악할 수 있다.
▶ Output window
- 분석 과정을 메시지로 출력한다. 해당 창을 통해 IDA의 분석 과정을 알 수 있다.
▶ View
- 디컴파일 결과, Hex-View, 구조체 목록 등의 화면을 표시한다.
▶ 임의 주소 및 레이블 이동
- 단축키 G를 사용해 임의 주소 또는 레이블로 이동할 수 있다.
▶ 함수 및 변수 이름 재설정
- 단축키 N을 사용해 함수 및 변수 이름을 재설정할 수 있다.
- 정의되지 않은 함수 및 변수의 경우 해당 기능을 통해 이름을 설정하여 분석 속도를 향상시킬 수 있다.
▶ Cross reference (Xref)
임의의 함수 또는 변수를 클릭하고, 단축키 X를 사용하면 해당 함수 및 변수가 사용되는 영역을 재참조할 수 있다.
▶ 함수 및 변수 타입 변경
- 임의의 함수 또는 변수를 클릭하고, 단축키 Y를 사용하면 해당 함수 및 변수의 타입을 지정할 수 있다.
- 함수의 경우, 전달되는 매개 변수를 추가하거나, 타입을 변경할 수 있다.
▶ Strings
- 단축키 Shift + F12를 사용해 바이너리에서 사용하는 모든 문자열을 조회할 수 있다.
- 함수의 심볼이 존재하지 않거나, 복잡할 경우 문자열을 통해 분석 시간을 크게 단축할 수 있다.
▶ Decompile
- IDA에서 제공하는 가장 강력한 기능으로, 어셈블리를 C 언어 형태로 변환하여 보여준다.
'프로그래밍 > 해킹' 카테고리의 다른 글
PLT / GOT / libc database (0) | 2024.08.15 |
---|---|
Ghidra 사용법 (0) | 2024.08.03 |
XSS Filtering Bypass 실습 문제 (0) | 2024.07.22 |
XSS Filtering Bypass (0) | 2024.07.20 |
File Vulnerability Advanced for linux & Apache htaccess (0) | 2024.07.20 |