GDB 사용법

assb
|2020. 6. 25. 15:17

GDB 사용법

 

 

gdb 설치

sudo apt -get install gdb

안되면 sudo apt-get update

gcc -g -o add add.c

 

 

gdb 실행

gdb [program]

 

 

인텔형 어셈블리어로 보기

(gdb) set disassembly-flavor intel

기본은 AT&T

 

 

디스어셈블

(gdb) disassemble [address/symbol]

 

 

레지스터 보기

(gdb) info reg: 레지스터 전체 출력

(gdb) info reg [reg]: 특정 레지스터 출력

(gdb) x/x: 16진수로 주소 확인

(gdb) x/x $[reg]: 16진수로 레지스터 값 확인

 

(gdb) x/t: 2진수로 확인

(gdb) x/o: 8진수로 확인

(gdb) x/d: 10진수로 확인

(gdb) x/u: 부호 없는 10진수로 확인

(gdb) x/x: 16진수로 확인

(gdb) x/c: char로 확인

(gdb) x/f: 부동소수점으로 확인

(gdb) x/s: 스트링으로 확인

 

 

bp 설정

(gdb) b *[address/symbol]

(gdb) b *main: 메인 함수 bp

(gdb) b *0x804854d: 특정 주소 bp

 

 

bp 제거

(gdb) delete

(gdb) delete [num]

 

 

bp 확인

(gdb) info breakpoints

 

 

프로그램 실행

(gdb) r [arguments]: 처음부터 실행

(gdb) continue: bp부터 계속 실행

(gdb) step [n]: n번 실행, 기본값은 1

(gdb) ni: 한 스텝 실행, 함수로 들어가지 않음

(gdb) si: 함수를 추적해서 들어감

(gdb) fin: 함수를 끝냄

 

 

* gdb는 자동 완성 기능을 제공

disassemble -> disas

breakpoints -> b

이런 식으로 입력해도 문제 x

 

https://ctf101.org/reverse-engineering/what-is-gdb/

 

What is GDB - CTF 101

From here you can search these documents. Enter your search terms below.

ctf101.org

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

HackCTF Reversing me  (0) 2020.06.25
IOLI crackme 0x03~0x05  (0) 2020.06.25
picoCTF 2018 learn gdb  (0) 2020.06.25
CTFLearn PIN  (0) 2020.06.25
reversing.kr Easy_Keygen  (0) 2020.06.25