Information*/알면도움됨

디버거에서 Rebase되는 문제 해결하기

ch4rli3kop 2020. 9. 19. 00:32
반응형

디버거에서 Rebase되는 문제 해결하기

디버깅하려고 하는데 주소가 하드코딩되어있어서 rebase 되면서 데이터 영역의 값이 제대로 업데이트 되지 않아 디버깅이 불가능했다.

실제로 메모리 맵을 살펴보면 다음과 같이 PE 헤더에 등록된 Image base 주소(0x400000)가 아닌 다른 주소로 지정되어 있는 것을 확인할 수 있었다.

약간의 검색과 추론을 이용하여 Opitalnal header의 다음의 특성이 rebase를 일으킨다는 것을 알 수 있었다. 0x40의 dynamic base 특성 때문에 rebase가 발생하게 된다.

헥스에디터를 이용하여 해당 값을 없애주면 프로세스가 rebase 되지 않고 Image base 대로 메모리에 올라가는 것을 확인할 수 있다.

반응형

'Information* > 알면도움됨' 카테고리의 다른 글

CMakeLists.txt 로 Visual Studio Code Debugging 하기  (0) 2021.08.04
멀티 코어와 게임 성능 간의 상관 관계  (0) 2021.01.22
Bruteforce  (0) 2020.08.31
메모리 배열 조정하기  (0) 2020.07.17
gdb 활용 팁  (0) 2020.06.26