기본 콘텐츠로 건너뛰기

windbg 사용법 정리

가 참고할 용도로 작성하고계속 추가해 나갈 예정입니다.
 3.로드되지 않은 심볼에 breakpoint 설정
특정 모듈이 로드되기 전에 모듈 내부에 bp를 걸고싶을때 사용bu xxx!print+0x1f3 // xxx모듈의 print 함수 +0x1f3 위치에 bp
2. 특정 모듈(dll,ocx) 로드시 breakpoint 설정
모듈이 로드되기 전에는 모듈내부에 bp를 걸수가 없어서모듈을 로드할때 bp를 걸고 이후에 모듈의 함수나 주소에 bp를 걸어서 디버깅하고 있습니다.
sxe ld abc.dll    // abc 모듈을 로드하는 시점에 bp가 걸림
1. batch파일에서 심볼을 로드하는 명령어디버깅 환경설정의 편의를 위해 batch파일을 만들때 , 심볼을 로드하게 하는 스크립트입니다."C:\Program Files\Windows Kits\8.1\Debuggers\x86\windbg.exe" -y"SRV*c:\\symbols*http://msdl.microsoft.com/download/symbols" -c".load c:\\blwdbgue.dll;g" "C:\Program Files\Internet Explorer\iexplore.exe"
설명
-y"SRV*c:\\symbols*http://msdl.microsoft.com/download/symbols" // 
windbg 의 사용법을 찾아본 결과 심볼을 로드하기 위해서는 -c 옵션에서 커맨드는 넣는게 아니라 심볼관련 옵션인 -y가 존재합니다. 심볼서버를 사용하겠다는 뜻이며 뒤의 주소가 심볼서버의 주소 입니다. 주소에서 다운받는 심볼정보들은 C:\symbols 폴더에 저장되게 됩니다.


댓글

이 블로그의 인기 게시물

2017 암호경진대회 4번

가장 쉽게 풀었죠. 30분도 안걸렸던거 같네요. 프로그램을 통해서 암호문의 유효성이 검증되는데요, 역공학을 통해서 암호문을 쉽게 찾을 수 있습니다. 답안  : Snow White and the Seven Dwarfs!. 풀이  : Oracle 함수가  CRC 를 계산하기 위해서는 중간에 평문이 복구될 것으로 보였다 .  제공하는  dll 을 이용하여  Oracle 함수의 입력으로 암호문을 넣은 프로그램을 작성하였다 . IDA 와  Immunity Debugger 를 이용해 프로그램을 역공학하여 얻을 수 있었다 .