Introduction to Reverse Engineering - 들어가며
**리버스 엔지니어링(Reverse Engineering)**의 용어적 의미를 살펴보면 엔지니어링을 역으로 한다는 의미를 담고 있다.
리버스 엔지니어링은 **소프트웨어 엔지니어링(Software Engineering)**의 응용 학문으로 이를 제대로 이해하기 위해서는 먼저 소프트웨어 엔지니어링에 대해서 능숙할 필요가 있다.
직접 프로그램을 만들어보고 → 만들어진 프로그램을 역으로 리버스 엔지니어링
학습 내용
사전 준비 사항:
- Windows PC 사용 경험
- Windows 환경: 강의에서는 Windows 11을 기준으로 진행한다.
- Ubuntu(혹은 다른 Linux) 환경: 강의에서는 Dreamspace VM을 기준으로 진행한다. Linux 환경이라면 원할하게 강의를 진행할 수 있다. → Ubuntu(x86-64 아키텍처의 Ubuntu 22.04 64-bit)
학습할 내용의 순서:
- 프로그램 이해하기
- 프로그램을 만들어보기
- 동적 분석 수행하기
- 정적 분석 수행하기
프로그램 이해하기