공부해요/리버싱_핵심원리

1장. 리버싱 스토리

yenas0 2024. 9. 11. 03:02
반응형

리버스 엔지니어링 

: 물건이나 기계장치 혹은 시스템 등의 구조, 기능, 동작 등을 분석하여 그 원리를 이해하며 단점을 보완하고 새로운 아이디어를 추가하는 일련의 작업

 

리버스 코드 엔지니어링

: 소프트웨어 분야의 리버스 엔지니어링

 

리버싱 분석 방법

정적 분석 파일의 겉모습을 관찰하여 분석하는 방법
파일을 실행하지 않음
동적 분석 파일을 직접 실행시켜 행위를 분석
파일, 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