pwndbg
- GDB 기반의 디버거
- 편리한 인터페이스 제공 (기본적으로 제공되는 디버거보다 사용하기 편)
pwntools 설치 과정
더보기
$ sudo apt update
$ sudo apt install git-all
pwndbg 설치 과정
더보기
$ git clone https://github.com/pwndbg/pwndbg
$ cd pwndbg
$ ./setup.sh
pwndbg 시작 명령어
gdb [실행시키고 싶은 프로그램명]
pwndbg 종료 명령어
q 또는 quit
pwndbg 명령어
- list : 실행시킨 프로그램의 코드를 볼 수 있음 (보기만 가능)
- disass main : 실행시킨 프로그램 안의 main 함수를 assembly code로 나타내줌.
- b 또는 break : 중단점을 지정할 수 있게 해주는 명령어로, 프로그램을 r(run) 했을 경우 정지할 지점을 정하는 것
- e.g. b *0x00001209, b *main+28 (주소는 위의 그림 참조), b *main, b 숫자(행)
- r 또는 run : gdb에 올라온 프로그램을 실행시키는 명령어로 중단점이 프로그램 실행 중 설정되어 있다면, 중담점에서 실행이 멈춤.
- c : continue의 의미로 r과 같이 실행임.
- n 또는 ni : 현재 행 하나 수행, 함수가 현재 행이라면 함수를 수행함.
- s 또는 si : 현재 행 하나 수행, 함수가 현재 행이라면 함수 내부로 들어감.
특정 메모리 주소 값(상태) 살펴보는 명령어
보고자 하는 형식
- t : binary : 2진수
- o : octal : 8진수
- d : demical : 10진수
- u : unsigned demical : 부호없는 10진수
- x : hex : 16진수
- f : float
- a : address
- i : instruction : 어셈블리
- c : char
- s : string : 문자
보고자 하는 범위
- b : 1byte
- h : 2byte
- w : 4byte
- g : 8byte
사용법
x/[범위(숫자)][보고자 하는 형식][보고자 하는 범위]
- x/16xw $esp : esp 레지스터를 기준으로 64바이트를 4바이트씩 쪼개어 16진수로 나타내라
이 외에도 많은 명령어가 pwndbg 안에 존재하는 데, 이는 pwndbg를 실행시킨 후 help all을 입력하면, pwndbg의 모든 명령어를 확인해볼 수 있다.
'0. 동아리 > 2) 전체공지' 카테고리의 다른 글
IDA 설치 방법 & 명령어 (2) | 2024.09.01 |
---|---|
VMware 가상머신 환경 구축 & Ubuntu 리눅스 설치 (2024.03.01. 작성) (0) | 2024.03.01 |
🐍 I.Sly() 재능기부🐍 (0) | 2023.07.12 |
VMware 가상머신 환경 구축 & Ubuntu 리눅스 설치 (2023.02.26. 작성) (0) | 2023.02.26 |
I.Sly() 7기 신입 부원 모집 (0) | 2023.01.28 |