정적 분석은 주로 main 함수를 찾고, 이를 분석하며 시작
바이너리에서 어떤 함수를 찾는 방법
프로그램의 시작 지점인 진입점(Entry Point, EP)부터 분석을 시작하여 원하는 함수를 찾을 때까지 탐색
대상 함수의 특성이나 프로그램의 여러 외적인 정보를 이용하여 탐색
프로그램을 정적 분석할 때, 많이 사용되는 정보 중 하나가 프로그램에 포함된 문자열
shift + F12 : 바이너리에 포함된 문자열이 열거된 Strings 창이 나타남

많은 문자열 중 "Hello, world!\n"라는 문자열을 찾아 더블 클릭

X : 상호 참조
"aHelloWorld"를 클릭하고 X를 누르면 문자열 xref 모습과 같이 xrefs(cross reference) 창이 나타남
=> 해당 변수를 참조하는 모든 주소가 출력됨

첫 번째 항목을 더블 클릭하면 main 함수를 찾을 수 있음

F5 : 디컴파일
F5를 눌러 디컴파일

분석
: argc, argv, envp 3개의 인자를 받음
qword_14001DBE0 : 값이 변경될 수 있는 전역변수 => data
"Hello, world!\n" : 상수 => rodata
동적 분석은 프로그램을 실행하면서 분석
F2 : 중단점 설정
main 함수로 진입하여 중단점 설정

F9 : 디버깅 시작
디버깅을 시작하여 main 함수까지 실행

F8 : Step Over, 어셈블리 코드를 한 줄 실행(함수 내부로 진입X)
Ctrl + F2 : 디버깅 중단
F7 : Step Into, 어셈블리 코드를 한 줄 실행(함수 내부로 진입)