<aside>
⚙ gdb
- start: 진입점에 중단점을 설정하고, 실행
- break(b): 중단점 설정
- continue(c): 계속 실행
- disassemble: 디스어셈블 결과 출력
- u, nearpc, pd: 디스어셈블 결과 가독성 좋게 출력
- x: 메모리 조회
- run(r): 프로그램 처음부터 실행
- context: 레지스터, 코드, 스택, 백트레이스의 상태 출력
- nexti(ni): 명령어 실행, 함수 내부로는 들어가지 않음
- stepi(si): 명령어 실행, 함수 내부로 들어감
- telescope(tele): 메모리 조회, 메모리값이 포인터일 경우 재귀적으로 따라가며 모든 메모리값 출력
- vmmap: 메모리 레이아웃 출력
</aside>
<aside>
⚙ pwntool
- process & remote: 로컬 프로세스 또는 원격 서버의 서비스를 대상으로 익스플로잇 수행
- send & recv: 데이터 송수신
- packing & unpacking: 정수를 바이트 배열로, 또는 바이트 배열을 정수로 변환
- interactive: 프로세스 또는 서버와 터미널로 직접 통신
- context.arch: 익스플로잇 대상의 아키텍처
- context.log_level: 익스플로잇 과정에서 출력할 정보의 중요도
- ELF: ELF헤더의 여러 중요 정보 수집
- shellcraft: 다양한 셸 코드를 제공
- asm: 어셈블리 코드를 기계어로 어셈블
</aside>