GDB simple usage.
gdb를 사용하는 목적은 메모리를 살펴보기 위해서다.
일단 메모리를 살펴보는 방법을 알아보자.
gdb에서는 x(examine) 명령을 이용해서 메모리를 살펴볼 수 있다.
x/(옵션들의 조합) <== 이런 방식으로 메모리를 살펴본다.
x 명령의 옵션은 아래와 같다.
1) 데이터를 해당 진법으로 보여주는 옵션.
o => 데이터를 8진법으로.
x => 데이터를 16진법으로 [자주 쓰인다].
u => 데이터를 10진법으로.
t => 데이터를 2진법으로.
2) 데이터를 보여주는 단위를 결정하는 옵션.
b => 1바이트 단위로 보여준다. (Byte) [기본]
h => 2바이트 단위로 보여준다. (half word)
w => 4바이트 단위로 보여준다. (word)
g => 8바이트 단위로 보여준다. (giant)
3) Etc....
i => 역셈블된 명령어의 명령 메모리를 보여준다.
c => 아스키 표의 바이트를 자동으로 보여준다. 문자 형태로 하나 보여주는 것. [자주 쓰임].
s => 문자 데이터의 전체 문자열을 보여준다 [자주 쓰임].
4) 옵션에 숫자 조합.
=> 해당 형식(옵션 문자로 결정)으로 몇 개만큼 보여주는지.
Cf) GDB 추가 사용 Tip.
1. set disassembly-flavor intel => 인텔 문법으로 변환.
2. gdb 연습 시 소스 코드를 보면서 리버싱을 해보고 싶으면, gdb에서 소스 코드를 볼 수 있으면 편하구,
즉 gcc 컴파일 시 -g 옵션을 주는 것을 통해 구현 가능하다.
gcc - g test test.c
gdb에서 소스 코드를 보려면 gdb에서 list 명령을 입력하면 된다.
'#Tip' 카테고리의 다른 글
About malloc () and free (). (0) | 2018.04.09 |
---|---|
Socket Programming Concepts. (0) | 2018.04.09 |
Assembly Handle Foundation. (0) | 2018.04.08 |
Installing pwntools. (0) | 2018.04.08 |
The Heap: How do use-after-free exploits work? (0) | 2018.04.08 |