포스트

ASLR

컴퓨터 시스템

ASLR

ASLR (Address Space Layout Randomization)

프로세스가 생성될 때 운영 체제가 메모리 공간을 할당할 때 주소를 무작위로 배치

특정 데이터위치 예측 불가

visual studion 링커 -> 고급 -> 임의 기준 주소 : NO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdint.h>

int main() {
    int x = 42;

    // 특정 메모리 주소를 사용
    uintptr_t address = 0x000000000014FCD4; // 테스트할 주소
    int* px = (int*)address;

    // 해당 주소에 값 쓰기
    *px = x;

    printf("Value at address 0x%X: %d\n", (unsigned int)address, *px);

    return 0;
}