티스토리 뷰
진행
ni: F8 함수 건너뜀
si: f7 안으로
브레이크 포인트
b : 브레이크 포인트를 걸어줍니다.
이 때 b 뒤에 무엇인가를 입력하면 되는데 여러가지 방법이 존재합니다. 또한 전부다 많이 쓰인다는게 함정...
1. 주소로 걸기
b *0x0503645 : *를 붙인다는 점에 주의합시다.
2. 특정 함수 기준으로 걸기
b *main+number
b *login+number
3. 현재 행 기준으로 걸기( -d 로 정보가 들어있는 경우 사용 가능 list 의 소스코드 기준)
b +2
b -2
4. 브레이크 포인트에 조건문 넣기
b 10 if var==0
d : 모든 브레이크 포인트를 삭제합니다.
i b(info breakpoint) : 브레이크 포인트 정보를 조회합니다. 여기서 얻은 정보를 삭제에 사용!
cl : 특정 브레이크 포인트를 삭제합니다.
ex) cl 1 : 1번 브레이크 포인트 삭제
watch [변수명] : 변수에 값이 쓰여질 때 브레이크 포인트
출력 모니터링 명령어
info locals : 현재 eip가 가리키고 있는 위치의 지역변수를 모두 출력한다.
info variables : 현재 상태에서의 전역변수를 모두 출력한다.
info reg : 현재의 레지스터 상태를 출력
p [value] : 변수 하나의 값을 보여준다.
ex) p name
p/t 식으로 출력하는 형식을 지정해줄 수도 있다.
p/t : 2진수
p/o : 8진수
p/u : 부호없는 10진수
p/x : 16진수
p/c : 문자
p/f : 부동 소수점
display : 화면에 특정 변수 값 자동 출력
display [변수명]
display/t
display/o
undisplay : 모든 자동 출력을 제거
이러한 형식으로 p와 동일하니 위를 참고하면 된다.
x/값의 범위,format
ex)
x/100x $eip : eip주소부터 100바이트만큼 출력한다.
x/100x 0x6354635 : 0x635~ 부터 100바이트만큼 출력한다.
print [변수명] : 특정 변수를 출력한다.
ex) print $레지스터명
ex) print/t /o /d /u 형식으로 출력 형식을 설정가능하다.
'TOOLS > GDB사용법' 카테고리의 다른 글
gdb intel 형식으로 변환 (0) | 2016.07.06 |
---|
- Total
- Today
- Yesterday
- GDB
- gdb 명령어
- 변환
- backdoor
- PNP 드라이버
- Intel
- module
- IRP
- BP
- LKM
- gdb명령어
- rootkit
- 레거시 드라이버
- DriverEntry
- 디바이스
- gdb intel 변환
- 모듈
- 드라이버
- 백도어
- VMware
- gdb intel
- vmware cannot connect to the virtual machine
- 루트킷
- breakpoint
- 리눅스 모듈
- vmware 오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |