반응형
리버스 엔지니어링
: 물건이나 기계장치 혹은 시스템 등의 구조, 기능, 동작 등을 분석하여 그 원리를 이해하며 단점을 보완하고 새로운 아이디어를 추가하는 일련의 작업
리버스 코드 엔지니어링
: 소프트웨어 분야의 리버스 엔지니어링
리버싱 분석 방법
정적 분석 | 파일의 겉모습을 관찰하여 분석하는 방법 파일을 실행하지 않음 |
동적 분석 | 파일을 직접 실행시켜 행위를 분석 파일, registry, network 관찰하면서 프로그램의 행위를 분석 프로그램 구조, 동작 원리 예측 |
디버깅은 리버싱의 하위개념
Source Code, Hex Code, Assembly Code
<C++ 소스코드의 빌드 과정>
Source Code: 개발 도구에서 소스코드(helloworld.cpp)를 build하면 helloworld.exe 실행 파일이 생성됨
Hex Code: 실행 파일은 Binary형식 이를 Hex 형식으로 변환
Assembly Code
패치와 크랙
패치(patch) | 프로그램의 파일 혹은 실행 중인 프로세스 메모리의 내용을 변경하는 작업 |
크랙(crack) | 패치와 같은 개념이나 의도가 비도덕적(ex. 불법 복제) |
반응형
'공부해요 > 리버싱_핵심원리' 카테고리의 다른 글
7장. 스택 프레임 (1) | 2024.09.18 |
---|---|
5장. 스택 (0) | 2024.09.17 |
4장. IA-32 Register 기본 설명 (0) | 2024.09.11 |
3장. 리틀 엔디언 표기법 (0) | 2024.09.11 |
2장. Hello World! 리버싱 (0) | 2024.09.11 |