IDA 구조
fuctions window
IDA에서 분석한 함수 나열, ctrl+f로 원하는 함수 찾기 가능
graph overview: 함수의 흐름 파악
output window: 분석 과정 출력
view: 디컴파일 결과, hex-view, 구조체 목록
IDA 기능
임의 주소 및 레이블 이동(jump to address): 단축키 G
함수 및 변수 이름 재설정(rename address): 단축키 N
Cross reference(Xref): 단축키 X
함수 및 변수 타입 변경(enter the type declaration): 단축키 Y
Strings 문자열 조회: 단축키 Shift+F12
Decompile: 어셈블리를 C언어 형태로 변환
Exercise: Helloworld
1. 정적 분석
아이다로 파일 열기

정적 분석은 main함수를 먼저 찾음
바이너리에서 함수 찾는 방법
- 엔트리 포인트부터 분석하여 원하는 함수찾을 때까지 탐색
- 함수의 특성이나 정보를 이용하여 탐색
문자열 검색
- shift+f12 누름 -> strings창
- hello, world! 찾아서 더블 클릭


상호 참조
수상한 값 또는 함수를 참조하는 함수 분석
변수 클릭 후 단축키 x -> xrefs


main 함수 분석
f5 -> 디컴파일

인자 분석: 아이다는 argc, argv, envp 3개 인자 설정
동작
- 0x3e8u만큼 sleep -> 1초 대기
- qword_14001dbe0에 문자열 넣기 “Hello, world!\n”
- sub_140001060 함수에 “Hello, world!\n”를 인자로 전달하여 호출
- return 0
sub_140001060 분석

va_start함수로 가변 인자 처리
__acrt_iob_func 함수: 스트림을 가져올 때 사용하는 함수, 인자 1이 들어가면 stdout 의미
문자열 인자를 받고 stdout 스트림 사용 -> printf
동적 분석
f2 -> 중단점 설정
f9 -> 실행
f8 -> 한 단계 실행
f7 -> 함수 내부 진행
appendix -> 실행중인 프로세스 조작