728x90
반응형
이 구문들을 기존의 my_debugger.py에 추가한다면 메모리 브레이크는 구현이 완료된다.
printf함수에 대한 메모리 브레이크포인트를 설정한다면 "Guard Page Access Detected" 라는 문구를 볼 수 있을 것이다.
먼저 브레이크포인트를 설정할 메모리 영역의 베이스 주소와 페이지 크기를 구한다. 그리고 해당 메로리 영역 페이지의 접근 권한을 변경해 보호 페이지로 설정한다.
페이지의 크기를 제대로 계산하려면 먼저 운영체제에 디폴트 페이지 크기를 질의해봐야 한다. 이를 위해서는 GetSystemInfo() 함수를 이용해 SYSTEM_INFO 구조체 정보를 구하면 된다.
SYSTEM_INFO 구조체의 dwPageSize 가 시스템의 페이지 크기 값을 나타낸다.
728x90
반응형
'파이썬 스터디 과제 > 파이썬 해킹 프로그래밍' 카테고리의 다른 글
4장-2 접근 위반 핸들러 (0) | 2015.01.24 |
---|---|
4장-1 브레이크포인트 확장 (0) | 2015.01.21 |
3장-4 브레이크포인트-2 (하드브레이크포인트) (0) | 2015.01.17 |
3장-4 브레이크포인트-1 (소프트브레이크포인트) (0) | 2015.01.16 |
3장-3 디버그 이벤트 핸들러 구현 (0) | 2015.01.15 |
댓글