cgy12306
Windbg Tip 본문
kb : 콜 스택 확인
g : 실행
p : step over
t : step into
pt : ret 명령어가 나오기 전까지 실행
u : 명령어 보기
ub : 이전 명령어 보기
a : 어셈블리어 모드로 들어감, 이후에 어셈블리어 입력 가능
$$><경로\파일명 : windbg가 있는 위치에 폴더 생성 후 아래에 windbg 명령어가 들어있는 아무 파일을 생성해서 다음과 같은 명령어 입력 시 스크립트 실행가능
lm : 로드된 모듈 확인
dds : dword 자료형으로 스택 보기
dc [주소]: 메모리 보기
dq [주소/레지스터] : qword 자료형으로 메모리 보기
s -a 시작주소 L?마지막주소 [스트링] : 스트링을 포함한 주소와 내용을 검색
s 시작주소 L?마지막주소 bytecode : bytecode를 포함한 주소와 내용을 검색
!exploitable : 익스플로잇 여부 확인 가능
!exchain : seh를 볼 수 있음
!analyze -v : 크래쉬 난 현재 상태 분석해줌
bp [주소] : 브레이크 포인트 설정
bl : 브레이크 포인트 리스트 확인
bc [숫자, *] : 브레이크 포인트 삭제
q : 종료
.restart : 재실행
!vprot [주소] : 해당 주소 메모리 정보 확인 가능
!address : 메모리 정보 확인
sxe ld [모듈] : 모듈이 시작되는 지점에 브레이크 포인트 설정
dt : 구조체 형태를 볼 수 있음
lmvm [모듈] : 해당 모듈에 대한 정보를 얻을 수 있음
!token [토큰] : 토큰에 대한 정보를 볼 수 있음(하위 1byte를 0으로 세팅해줘야함)
windbg mona 명령어
!py mona rop -m [모듈명] : 모듈명을 지정하여 DEP를 우회하는 rop 가젯들을 찾아주는 명령어
!py mona mod : 모듈에 대한 정보를 보여주는 명령어
!py mona findwild -s "push r32#*#pop esp#ret" : 원하는 가젯을 찾아주는 명령어, r32는 32bit에서 사용하는 모든 레지스터를 의미하고 *은 모든 명령어를 의미. -m 옵션을 줘서 원하는 모듈에서만 검색이 가능함
'Windows' 카테고리의 다른 글
[Batch] 하위 디렉토리 내의 모든 코드 라인수 가져오기 (0) | 2023.01.05 |
---|