-
Memory BreakPointHack/Reversing 2015. 1. 16. 23:06
메모리브레이크포인트를 사용하기위해서는 메모리영역의 베이스주소, 페이지크기를 구해야한다.
그 해당메모리영역도 Guard Page로 설정해야한다.
하지만 CPU가 보호 페이지에 접근하려고 하면 GUARD_PAGE_EXCEPTION이라는 예외가 발생한다.
이 예외를 처리하는 핸들은 복원하고 실행이 되도록 만든다.
페이지의 크기를 제대로계산하기위해서는 운영체제 디폴트 페이지크기를 질의해야하는데,
GetSystemInfo()함수를 이용해 SYSTEM_INFO구조체 정보를 얻어와야한다.
dwPageSize가 시스템 페이지 크기값을 나타내서 해당 인자를 출력시키면된다.
'Hack > Reversing' 카테고리의 다른 글
Message Hooking (0) 2015.01.21 Immunity Debugger (0) 2015.01.20 Hardware BreakPoint (0) 2015.01.16 GetProcAddress() (0) 2015.01.16 Soft BreakPoint (0) 2015.01.16