|
Windows 같이 보호모드를 사용하는 OS 위에서 동작하는
프로그램의 경우에는 System(Kernel)모드와 User모드로
나뉘게 되는데, 사용자 프로그램의 경우에는 User모드로 동작하게 되고,
메모리를 읽거나 쓸 때 제한이 있습니다.
님께서 쓴 방식은 예전에 DOS에서나 사용할 수 있는 방식이고....
Windows에서는 사용할 수 없는 방식입니다.
Windows하에서 메모리를 읽고 쓰는 것은
자신에게 허용된 메모리만 가능합니다.
던켄 님이 쓰신 글 :
: 제가 너무 몰라서 질문조차 상세히 설명드리기가 어렵네요.
: 주소번지 0부터 주욱 읽어들여서 화면에 보여주고
: 수정하면 메모리에 있는 값을 덮어쓰기 하는 프로그램을 만들고 싶습니다.
: 한 BYTE씩 읽어들이려고 하는데
:
: 제가 아는 지식으로는 계속 에러만 나네요... 컴파일도 안되고...
:
: 창피하긴 하지만... ㅡ_ㅡ;
:
: int *test = 0;
: String a = *test;
: ShowMessage(a);
:
:
: 이게 제가 해봤던 방법입니다.
: 이건 컴파일은 되는데 실행하다가 0번지를 읽으려고 했다고 에러가 나데요...
:
: 부디 쉽고 자세히 설명해주시기 바랍니다.
|