본문 바로가기

Security study/Pwnable

GDB 사용방법

[1] GDB란?

-> GNU Debugger의 약자로 오픈소스로 공개되어 있는 무료 디버거이다.

-> 설치 방법은 sudo apt-get install gdb 입력

설치가 잘 됐다면 gdb 입력했을 때 뜨는 화면

*gdb-peda를 이용하면 더 편리하게 볼 수 있다. 설치방법은

git clone https://github.com/longld/peda.git ~/peda

echo "source ~/peda/peda.py" >> ~/.gdbinit

위 2줄을 입력하는 것이다.

 

[2] 명령어

-> b *[메모리 주소/함수이름/offset] : breakpoint를 거는 명령어

-> continue : 다음 breakpoint까지 실행하는 명령어

-> info b : breakpoint 정보를 확인하는 명령어

-> d (brdakpoint 번호) : breakpoint 삭제하는 명령어

-> run : gdb내부에서 프로그램을 실행하는 명령어이다.

-> disass (함수) : 함수의 어셈블리 코드를 출력한다.

-> info func : 특정 함수의 정보를 출력한다.

-> info reg : 특정 레지스터 정보를 출력한다.

-> print (함수) : 해당 함수의 주소를 출력한다.

-> finish : 현재 함수를 수행하고 빠져나간다.

-> list : 디버깅 중인 프로그램 C언어 소스를 보여준다.

-> bt : 현재 프로그램 스택에 있는 내용을 보여준다.

 

'Security study > Pwnable' 카테고리의 다른 글

[pwnable.kr] bof  (0) 2021.05.19
gdb 활용 코드 분석  (0) 2021.05.12
[pwnable.kr] collision 문제 풀이  (0) 2021.05.05
setuid 개념 정리  (0) 2021.05.05
[2주차 과제] swing_pwn_chall 풀이  (0) 2021.04.28