메모장에 문서를 작성한 후 이를 저장한 뒤 저장한 파일의 문서가 아직 Physical memory(예제에서는 Standby list page)에 남아 있는 동안 RAMMap 도구를 사용하여 Physical address 를 알아낸 뒤, LiveKd 를 통해 데이터를 직접 확인하는 방법을 아래와 같이 정리하였습니다.

아래 참고자료에 링크되어 있는 Mark Russinovich 의 Mysteries of Memory Management Revealed 발표 자료에 포함된 내용의 일부를 재현하였습니다.


[환경]
Windows 7
RAMMap v1.11, LiveKd v5.0, Debugging Tools for Windows 6.11.x 


우선 메모장을 실행하여 아래와 같이 내용을 입력한 뒤 pw.txt 파일로 저장한 뒤 메모장을 닫습니다.

admin password : Test1234




다음은 RamMap 을 실행하여 File Details 메뉴로 이동한 뒤 Ctrl+F 검색 메뉴를 사용하여 path 에 포함된 pw.txt 를 찾습니다. 해당 파일의 데이터가 위치한 Physical Address 주소값을 확인할 수 있습니다.  (0x4B6AA000)




위에서 확인된 Physical Address 에 어떤 데이터가 있는지 이를 보여주기 위해서 LiveKd 를 사용하여 live debugging 모드에서 확인해 보도록 하겠습니다. LiveKd 를 사용하는 방법은 아래 링크를 통해 확인할 수 있습니다.

LiveKd 를 사용하여 로컬 머신에 디버거 연결하기
http://laigo.kr/658

Debugging Tools for Windows 툴이 설치된 경로에 복사된 livdkd 를 실행하여 !db (ASCII 문자열 출력) 명령으로 Physical address 의 데이터를 확인할 수 있습니다.

0: kd> !db 0x4b6aa000





위와 같은 방법으로 Standby list page 에 저장되어 있는 데이터를 확인하였습니다.


[참고자료]
RAMMap v1.11
http://technet.microsoft.com/en-us/sysinternals/ff700229

LiveKd v5.0
http://technet.microsoft.com/en-us/sysinternals/bb897415

Mysteries of Memory Management Revealed,with Mark Russinovich (Part 1 of 2)
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405

Mysteries of Memory Management Revealed,with Mark Russinovich (Part 2 of 2)
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL406


작성자 : Lai Go / 작성일자 : 2011.11.14

Posted by Lai Go