본문 바로가기

security/pwn

[pwn] gef, peda, pwndbg 동시에 사용하기

오랜만에 gdb를 사용하다가 gef에서는 디버깅 도중 표준 출력이 보이지 않는데 peda에서는 표준 출력이 보인다고 하여 peda를 설치해서 변경하기로 했다. ( gef에 빠져서 gef만 사용하고 있었다. )

 

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

 

먼저 peda를 설치해줬다. ( 사용자의 home directory에 설치해줬다. ~은 home directory, /은 root directory이다. )

 

 

설치하면 위와 같이 peda 디렉토리가 생성된 것을 확인할 수 있다.

이제 우리가 gdb를 실행할 때 명령어나 확장 설정들을 자동으로 로드해주는 .gdbinit 파일을 변경해줘야 한다.

이 파일은 홈 디렉토리에 존재한다.

 

 

숨김처리를 한 파일이라 -al 옵션을 줘야 보인다.

 

set auto-load safe-path /
source /home/howl/.gdbinit-gef.py

 

기본만 설정해놔서 gef가 로드되는 내용만 있다.

 

set auto-load safe-path /
#source /home/howl/.gdbinit-gef.py
source ~/peda/peda.py

 

기존의 gef를 로드하는 부분을 주석처리하고 peda의 파이썬 파일 경로를 추가해준다.

저장하고 이제 gdb를 실행하면 peda로 실행이 된다. ( peda에서는 표준 출력이 보이긴 하는데 0.1초 보인다.. )

 

 

vi ~/.gdbinit


앞으로 위와 같이 .gdbinit 파일에서 사용할 확장 프로그램을 제외한 나머지를 주석처리 해주면 된다.

( pwndbg도 마찬가지로 설치 후 파이썬 파일 경로를 peda와 같이 .gdbinit 파일에 추가해주면 된다. )

 

만약 매번 주석처리가 귀찮을 경우 command로 아예 구별하는 방법도 있다.

아래의 방법을 참고하면 된다.

 

https://infosecwriteups.com/pwndbg-gef-peda-one-for-all-and-all-for-one-714d71bf36b8

 

Pwndbg + GEF + Peda — One for all, and all for one

Install all plugins at the same time and switch with a simple command.

infosecwriteups.com

'security > pwn' 카테고리의 다른 글

[pwn] pwntools cyclic 활용  (0) 2024.08.04
[Dreamhack] rop 풀이  (0) 2024.07.10
[Dreamhack] basic_rop_x86 풀이  (0) 2024.07.10
[Dreamhack] basic_rop_x64 풀이  (0) 2024.07.10
[pwn] 로되리안 해결하기  (0) 2024.07.09