.data .rdata

agnusdei·2025년 9월 9일
0

CTF

목록 보기
102/154

1. .data 섹션

  • .data 섹션은 초기화된 전역 변수(global variables)정적 변수(static variables) 를 저장하는 영역입니다.

  • 특성:

    • 읽기/쓰기(Read/Write) 가능.
    • 실행 코드가 아닌 데이터 저장용.
    • 예시: int counter = 10; 같은 전역 변수.

2. .rdata 섹션

  • .rdataRead-Only Data 섹션의 줄임말입니다.

    • 여기서 R = Read-Only 입니다.
  • 주로 읽기 전용 상수, 문자열 리터럴, 임포트 테이블(Import Address Table, IAT) 같은 데이터가 위치합니다.

  • 특성:

    • 읽기 전용(Read-Only)
    • 실행 코드에서 참조 가능하지만, 쓰기는 불가.
    • 예시: "Hello, world" 문자열 상수, 함수 포인터 테이블, DLL import 주소.

3. 차이점 요약

섹션읽기/쓰기용도
.dataRead/Write초기화된 전역/정적 변수
.rdataRead-Only문자열 상수, 상수 데이터, import/export 테이블 등

쉽게 말하면, .data는 마음대로 바꿀 수 있는 데이터, .rdata는 변경 금지 데이터(읽기만 가능) 라고 생각하면 됩니다.


profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글