본문 바로가기

reversing/WinDbg5

WinDbg 브레이크 포인트 명령어 모음 명령어 기능 bp 브레이크 포인트 설치 bl 브레이크 포인트 리스트 보기 bd 브레이크 포인트 비활성화 be 브레이크 포인트 활성화 bc 브레이크 포인트 해제 bu 브레이크 포인트 설치(WinDbg가 다시 동작할 때에도 브레이크 포인트 유지) 2023. 2. 22.
디버그 실행 및 정지 WinDbg에서 멈춰있는 Notepad.exe를 실행하는 세 가지 방법이있다. 첫 번째는 명령 창에서 g 명령을 수행하는 것, 명령줄에 g를 입력하고 엔터키를 누르면된다. 두 번째 방법은 F5키를 누르면된다. 세 번째 방법은 툴바에서 Go 버튼을 클릭하면 된다(자동으로 g 명령을 수행한다.) 실행된 상태에서 WinDbg로 제어하려면 notepad.exe 를 멈춰야한다. 멈추기 위한 방법은 두가지가 있는데 첫 번째 방법은 ctrl+Break 키를 누르는 것, 두 번째 방법은 툴바에서 Break 버튼을 누르는 것이다. 2023. 2. 22.
운영체제 심볼 경로 설정과 로드 WinDbg 실행 후 심볼 경로를 확인하기 위해 .sympath 명령을 사용하면 다음과 같이 나온다. 0:000> .sympath Symbol search path is: srv* Expanded Symbol search path is: cache*;SRV*https://msdl.microsoft.com/download/symbols 첫 줄을 보면 심볼 경로가 srv*로 설정돼 있는데 srv*은 심볼 서버를 사용하겠다는 키워드다. 원래 사용법은 srv*symbolstore처럼 srv*뒤에 심볼 서버 경로나 URL을 적어주는 것인데, srv*만 적으면 기본값으로 마이크로소프트 웹 심볼 서버 URL이 적용돼 별도로 운영체제에 대한 심볼 서버를 적어주지 않아도 된다. 실제로 WinDbg에 적용된 심볼 경로는 .. 2023. 2. 21.
디버그 심볼 파일 디버그 심볼 파일이란 실행 파일을 빌드할 때 생성되는 디버그용 정보 파일을 말한다. 보통 심볼 파일이라고 하거나 그냥 심볼이라고 부르기도 한다 디버그 심볼파일에 포함되는 디버그 정보란 실행 파일 안에 존재하는 함수나 변수들의 이름과 위치, 소스 파일, 소스 라인 정보다, 비주얼 스튜디오나 WinDbg같은 디버거는 이 심볼 파일을 이용해 소스 라인 디버깅을 가능하게 한다. 비주얼 스튜디오에서 foo.exe를 빌드한다고 가정했을 때 Debug 빌드를 하면 기본적으로 foo.pdb가 함께 생성된다. 비주얼 스튜디오에서 디버깅을 하려면 필요한 정보 파일이므로 스튜디오에서 Release 빌드를 하면 기본적으로 foo.pdb는 생성되지 않는다. 비주얼 스튜디오에서 Release 빌드로 디버깅할 수 없는 이유가 여기.. 2023. 2. 20.
디버거 연결하기 WinDbg에 notepad.exe를 연결하는 방법은 세가지가 있습니다. WinDbg에서 notepad.exe를 실행하면서 연결하는 방법 이미 notepad.exe가 실행된 상태에서 WinDbg를 나중에 연결하는 방법 notepad.exe가 먼저 실행된 상태에서 어떤 문제가 발생했을 때 자동으로 WinDbg가 연결되는 방법 WinDbg에서 notepad.exe 실행하기(디버거에서 디버기 실행하기) 프로그램의 시작점인 main(또는 WinMain) 함수부터 디버깅을 하려고 할 때 사용한다. 이 기능을 사용하면 notepad.exe가 실제로 실행되기 전부터 디버거가 붙어서 실행된다. 비주얼 스튜디오에서 코드를 작성하고 F5키를 눌러서 실행하면서 디버깅하는 것과 비슷하다. File-> Open Executab.. 2023. 2. 20.
반응형