- 32bit 윈도우 시스템에서 사용하는 주소 할당 내역
0x00000000 ~ 0x0000FFFF : Null 포인터 할당 파티션으로 사용하지 않는다.
0x00010000 ~ 0x7FFEFFFF : 유저 모드 파티션
0x7FFF0000 ~ 0x7FFFFFFF : 64KB 접근 금지 파티션
0x80000000 ~ 0xFFFFFFFF : 커널 모드 파티션
어셈블리어로 메모리 접근한다고 쳐도
eax에 0x1000FFFF라는 메모리 주소가 있으면
mov [eax], 1
이런식으로 특정 메모리 주소에 값을 읽고 쓰는건 가능해도
램 2번 슬롯 선택하는 명령어따윈 없다 게이야
1번 슬롯 램 뽑아도 접근 가능하면 2번 슬롯 램에 위치해있던 것 아닐까?
오 부팅중에 램 뽑기 신공
듀얼채널이 기본이니까 도스로 부팅하면 리얼모드로 동작해서 (정확히 모르겠지만 아마도) 짝수번지 메모리는 항상 두번째 슬롯 램에 저장될 수도 있을 거 같은데.
물리적 메모리 주소를 알아낸다고 해도 그게 어느 램 슬롯의 어떤 메모리 모듈에 저장될지는 CPU(멤컨)마다 달라짐
리버싱해서 분석하면 특정 슬롯의 특정 메모리 칩에 데이터 기록하는것이 가능하긴 한듯
https://depletionmode.com/ram-mapping.html