리버싱(Revesing)의 정의
리버싱의 정의를 알기 전에 먼저 프로그램의 제작과정에 대해서 알아보겠습니다.
위 그림과 같이 컴파일을 통해 소스코드가 바이너리 코드가 되며 이 바이너리 코드가 실행되며, 제작한 코드가 실행되는 원리이다. 여기서 바이너리 코드를 통해 기존의 소스코드를 복원을 할 수가 없다. 그래서 바이너리 코드를 어셈블리어로 번역하여 기존의 소스 코드를 분석하여야 한다.
이 과정을 바로 리버싱(Reversing) 또는 Reverse Engineering, 역공학이라고 부른다.
'Reversing' 카테고리의 다른 글
리버싱 기초 지식 : 함수호출규약(Calling Convention) (0) | 2015.01.27 |
---|---|
리버싱 기초 지식 : 어셈블리어(Assembly) (0) | 2015.01.27 |
리버싱 기초 지식 : 레지스터(Register) (0) | 2015.01.27 |