System/Reversing

GDB 소스코드 보면서 디버깅 하기

pyozzi 2019. 6. 8. 17:12

오픈소스인 프로그램을 직접 컴파일하고 GDB로 분석할 때 소스코드를 보면서 디버깅할 수 있다.

우선 gef라는 GDB 플러그인을 설치해야 한다.


[ gef Document ]

https://gef.readthedocs.io/en/master/

# via the install script
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh

# manually
wget -O ~/.gdbinit-gef.py -q https://github.com/hugsy/gef/raw/master/gef.py
echo source ~/.gdbinit-gef.py >> ~/.gdbinit

위 명령어를 차례대로 입력하고, gdb를 실행하면 아래와 같이 기본 Layout이 바뀌어 있을 것이다.



[ 기본 레이아웃 설정하기 ]

레이아웃을 설정하지 않은 기본 레이아웃은 Thread같은 불필요한 정보들이 출력되어 좀 난잡할 것이다.


레이아웃은 gef config context.layout 으로 설정해줄 수 있다.

gef config context.layout -legend regs code source stack memory args extra


위 스크린 샷처럼 세팅하기 위해서는 해당 명령어를 입력하면 되며, 반드시 gef save로 세팅을 저장해줘야 한다.