1. 일단 무작정 파일을 실행 시켜보자.
무작정 실행 시켜보고 프로그램이 겉으로 어떻게 생겼는지 본 다음에 '이 파일은 어떻게 되어있을 것이다' 라고 구조를 생각해보고 나서 리버싱 툴로 열어본다.
2. 디버거로 열었을때 F8 과 F7을 적절히 사용해 가면서 직접 하나하나 눌러보며 어디가 어떻게 변화하는지 본다.
F8이나 F7을 천천히 눌러가면서 레지스터, 플래그 값이 바뀌는 이유와 점프 구문에서 어디로, 왜 점프하는지를 보면서 분석한다.(올리, x32-64, 이뮤니티 디버거들에 해당되는 얘기이다.)
3. 모르는 함수가 나오면 무조건 구글에 검색해본다.
검색하지 않으면 파일이 어떻게 작동하는지 모르기 때문이다. 함수를 검색하고 이게 어떤식으로 작동하는지만 알면 풀 수 있는것들이 많게 된다.
마이크로소프트 Docs에 대부분 잘 나와있으니까
(찾고싶은 함수) msdn이라고 구글에 치면 대부분 나온다.
꼭꼭 모르는 함수는 찾아보길 권장한다.
'Reversing' 카테고리의 다른 글
[리버스 엔지니어링] 80x86 CPU의 레지스터 종류와 뜻 (0) | 2020.04.04 |
---|---|
[리버스 엔지니어링] 스택, 스택프레임 (0) | 2019.12.19 |