리버스 엔지니어링이다.

리버싱을 선택하려는 사람들에게…

리버싱은 힘든 과정이다. 누구도 이견을 가지기 힘든 명확한 사실이다. 같은 코드를 몇 시간, 혹은 며칠 간 계속 보며 분석을 해야할 때도 있다. 자신이 문제 해결의 희열을 위해 이 변태같은 고단한 과정을 참고 버틸 수 있는 열정의 남자라면 리버싱을 추천한다. 하지만 이 미지의 코드를 밝혀내는 과정이 재미없고 ‘내가 왜 이런 문제에 이렇게 많은 시간과 정신을 쏟아야하지?’ 하는 마음이 든다면 다른 분야가 더 맞을 수 있다. 하지만 참고 버티면 엄청난 성취감을 안겨줄 것이다.

리버스 엔지니어링이란?

리버스 엔지니어링 또는 리버싱이란 무엇일까?

바로, 분석이다.

물론 사람마다 다르게 생각할 수 있지만, 나는 파일을 분석하고 원하는 것을 얻어내는 것이 바로 리버스 엔지니어링이라 생각한다.

다양한 파일들이 있겠지만, 보통 CTF나 Wargame을 풀 때에 실행 파일이 주로 나온다.

따라서, 리버싱을 실행 파일을 분석하여 프로그램이 어떤 동작을 하는지 이해하여 flag를 얻는 분야라고 생각하면 쉽다.

리버싱의 용도

🙂 : 악성코드 분석, 개발 중지된 프로그램 업데이트

💀 : 크랙 프로그램 제작(정품 인증 우회), 게임핵 제작

리버스 엔지니어링 기초 배우기

0. 환경설정

환경설정

IDA, IDE, Linux는 필수다. 다운 받아주자.

1. 드림핵 로드맵 보기

https://dreamhack.io/lecture/roadmaps/4

위는 드림핵 리버싱 로드맵이다.

타 분야(웹, 시스템)와 다르게 로드맵이 길지 않으므로 워게임을 풀기 전에 정주행하는 것을 추천한다.