리버싱 기초
·
Security/Reverse Engineering
0. 리버싱 엔지니어링(Reverse Engineering)리버싱 엔지니어링이란 완성된 시스템, 소프트웨어, 기계 또는 제품을 분석하여 구조, 기능, 동작 방식을 파악하고 이를 통해 설계나 구현방식을 이해하는 과정을 말한다. 용어 그대로 "거꾸로" 분석하여 어떻게 만들어졌는지 알아내는 작업이다. 소프트웨어를 리버싱한다고 했을 때, 이는 실행 파일(바이너리 파일)을 분석하여 원본 소스 코드, 로직, 데이터 구조, 프로토콜 등을 알아내는 것이다. 이 과정속에서 디컴파이얼러, 디버거, 패킷 분석기와 같은 도구들이 사용된다. 리버싱의 주요 용도는 다음과 같다. 1. 소프트웨어 디버깅 및 오류 수정 : 소스 코드가 없는 상황에서 소프트웨어의 문제를 파악하고 수정하는 데 사용되며 특히 오래된 소프트웨어나 소스 코드..