메모리 덤프 파일 확인 / 윈도우 소프트웨어의 동적 분석 시 매우매우매우 유용
주요 커맨드
- k [n] : 콜스택 확인 (kv 많이 사용)
- ln 0x401000 : 특정 addr 주변에 가장 가까운 symbol 확인
- r [레지스터/플래그] : 레지스터 및 플래그 정보 확인 가능 (eax, ebx, zf ..)
- r eax=0 : 레지스터 값 변경
- bp 0x401000 : bp 설정 (bp testexe!ReadFile+0x123 이런 식도 가능)
- bl : bp list (bd 숫자 => 특정 브포 disable, be 숫자 => enable)
- g : 다음 bp까지 쭉 continue
- p : step over
- t : step into
- gu : 현재 함수 밖으로 이동, step out
- dq, dd, dw, db [addr] : 메모리 값 출력, L4 등의 옵션을 통해 출력할 개수 지정 가능
- du/da [addr] : unicode/ascii 값 출력 (문자열 버퍼 값 확인 시)
- eq, ed, ew, eb [addr] : 메모리 값 수
- !address : vmmap 느낌 (뒤에 주소 입력 시 해당 주소 부근의 정보 나타내줌)
- !exchain : exception handler 정보 확인
- u [addr] : 특정 addr부터 디스어셈블
- x ![함수이름] : 특정 symbol 검색
- ? 0x123 - 0x12 : p/x 0x123-0x12 마냥 계산해줌
- lm vm JPM.dll : 특정 모듈 매핑 주소
기타 꿀팁들
- Launch executable (advanced) 옵션 이용해서 인자 넣고 디버깅 가능 + TTD도 가능!!
- Attach to process 해서 백그라운드 실행중인 프로세스 디버깅 가능 + TTD도 가능!!
- TTD 커맨드
- g-, p-, t- 등과 같이 기존 커맨드에 - 붙이면 거꾸로 흘러감
- bp 거는거나 dd, du로 메모리 확인하는거는 동일하게 진행됨
- 단 이미 녹화된 로그를 보는 것이므로 !address는 잘 동작 안하더라
'security > 화이트햇' 카테고리의 다른 글
Mini CTF - XSS, DOM Clobbering (0) | 2024.01.07 |
---|---|
IDA에서 사용자 정의 구조체 생성하기 (1) | 2024.01.06 |
WTF(What The Fuzz) 퍼저를 활용해 타겟 분석하기 (2) | 2024.01.06 |
WinAFL 퍼징을 통해 타겟 분석하기 (1) | 2024.01.06 |
git 사용하기 - github pull/push/pull request (0) | 2023.09.28 |