본문 바로가기
Security/Reversing

GDB 사용법

by jino22 2021. 5. 5.

틀린 부분이 있다면 언제든지 댓글 남겨주세요! 

 

GDB 명령어 사용법


 

GDB :유닉스 계열 시스템의 디버거

 

- GDB 실행

간단하다. gdb라고 치면 끝!

gdb [프로그램명]

GDB 실행을 종료하려면 q를 입력하면 된다.

q

 

- 프로그램 실행

stack이라는 프로그램에 GDB를 붙여보았다. 아직 프로그램이 실행된건 아니다.

run이라는 명령어를 통해 실행할 수 있다.

run

이 코드는 간단하게 사용자가 입력한 값을 출력해주는 동작을 한다.

만약 매개변수를 전달하고자 한다면 run 뒤에 매개변수를 쓰면 된다.

 

- 디버깅

main함수 디버거 코드를 보기 위해서 disas main(=disassemble main) 명령어를 입력한다. 

이때 어셈블리 코드를 인텔형식으로 보기 위해서 set disassembly-flavor intel 명령어를 통해 설정한다. 

 

disassemble [함수명]

- BP걸기

Break point를 걸기 위해서 메모리 주소 or 함수 이름 or [offset + n] 값이 필요하다.

명령어는 b *(걸고자 하는 곳) 이다.

b *[메모리 주소]
b *[함수내의 offset+n]

BP 목록을 확인하려면 info b 를 입력하면 된다.

info b

설정한 BP를 삭제하려면 d [삭제하고자 하는 BP 번호] 명령어를 이용한다.

d [BP 번호] 

BP까지 실행시키려면 c 명령어를 이용한다. 

728x90
반응형

'Security > Reversing' 카테고리의 다른 글

[CodeEngn] Challenges Basic RCE L01, L02, L03  (0) 2021.08.05
GDB 실습 1  (0) 2021.05.16
Reversing Basic Challenge #2  (0) 2021.04.25
Abex crackme #5  (0) 2021.02.07
Abex crackme #4  (0) 2021.02.07

댓글