티스토리 뷰
set disassembly-flavor [명령어 형식]
- intel과 at&t가 있음
disas [함수이름]
- 함수의 어셈블리 코드를 보는 명령어
b * [메모리주소]
- breakpoint를 거는 명령어
- 메모리 주소나 함수의 이름 혹은 offset+O으로 걸어도 됌
info b
- breakpoint 정보를 열람 할 수 있는 명령어
d (breakpoint 번호)
- breakpoint를 삭제할 수 있는 명령어
run [매개변수]
- gdb 내부에서 프로그램 실행
ni
- 다음 인스트럭션 실행
메모리 출력 방식
- x/b : 1바이트 출력
- x/h : 2바이트 출력
- x/w : 4바이트 출력
- x/x : 16진수로 출력
- x/u : 10진수로 출력
intel CPU는 바이트를 배열할 때 거꾸로 씀 -> 리틀 엔디언
하지만, gdb는 디버깅 시 보기 편하게 하기 위해 거꾸로 안 씀 -> 빅 엔디언
*참고로 네트워크 상에서는 빅 엔디안 형식을 씀
특정 레지스터를 기준으로 메모리 값을 보고싶으면
- $[레지스터 이름] 으로 출력 가능
info reg 혹은 i r을 레지스터의 정보를 출력하는 명령
'pwnable > 정리' 카테고리의 다른 글
PLT와 GOT (0) | 2018.01.07 |
---|---|
Static Link 방식과 Dynamic Link 방식 (0) | 2018.01.07 |
ShellShock bash shell 취약점(CVE-2014-6271) (0) | 2018.01.01 |
IA32 인텔 CPU 구조, 레지스터 (3) | 2017.12.20 |
쉘코드 모음 정리 (1) | 2017.12.14 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- FSB
- rt_sigreturn
- overflow
- HackCTF
- codegate
- srop
- pwable
- hacking
- stack reusing
- pwnable
- fastbindup
- TLS
- ebp change
- shellcoding
- tcache
- SQLi
- fsop
- oob
- heap
- exit
- 해킹
- glibc
- pwnable.tw
- 본선가고싶다
- fastbin
- Total
- Today
- Yesterday