GEF (GDB Enhanced Features) - Linux에서 익스플로잇 개발자와 리버스 엔지니어를 위한 고급 디버깅 기능을 갖춘 GDB의 현대적인 경험
GEF (발음 ʤɛf - "Jeff")는 x86/64, ARM, MIPS, PowerPC 및 SPARC를 위한 명령어 세트로,
익스플로잇 개발자와 리버스 엔지니어가 기존의 GDB를 사용할 때 도움을 줍니다. Python API를 통해 GDB에 추가 기능을 제공하여
동적 분석 및 익스플로잇 개발 과정을 지원합니다. 일반 GDB의 난해함을 크게 완화하고,
반복적인 전통 명령어를 피하거나 디버깅 런타임에서 관련 정보를 추출하므로
애플리케이션 개발자도 혜택을 볼 수 있습니다.
GDB 10.0 이상이 Python3.10+ 바인딩으로 컴파일되어 있는지 확인한 후, 다음을 실행하세요:
# 설치 스크립트 사용
## curl 사용
$ bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
## wget 사용
$ bash -c "$(wget https://gef.blah.cat/sh -O -)"
# 또는 수동
$ wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit
# 또는 GDB 내에서 직접
$ gdb -q
(gdb) pi import urllib.request as u, tempfile as t; g=t.NamedTemporaryFile(suffix='-gef.py'); open(g.name, 'wb+').write(u.urlopen('https://tinyurl.com/gef-main').read()); gdb.execute('source %s' % g.name)
GDB를 실행하면 GEF가 올바르게 설치되었음을 즉시 확인할 수 있습니다:

GEF의 몇 가지 기능은 다음과 같습니다:
GEF는 배터리 포함 방식이며 즉시 설치 가능gef-legacy 참조)자세한 내용은 스크린샷 페이지를 확인하거나 온라인으로 사용해보세요 (사용자명:gef/비밀번호:gef-demo)
다른 GDB 플러그인과 달리 GEF는 광범위하고 최신의 문서를 제공합니다. 사용자들은 GEF 사용 시 문서를 참조하는 것이 좋습니다. 특히 새로운 사용자는 문서를 살펴보고 (자주 발생하는 설치 문제는 FAQ 참조), 문제가 지속되면 Discord 채널에서 도움을 요청하거나 이슈를 제출하세요.
| 문서 | 라이선스 | 호환성 | CI 테스트 (main) |
|---|---|---|---|
프로젝트를 유지하는 또 다른 방법은 후원하는 것입니다! 자세한 내용은 후원 문서를 확인하여 멋진 후원자 목록에 포함될 수 있습니다.