본문 바로가기
Reverse Engineering/gdb

gdb 실행, 명령어

by manchesterandthecity 2020. 10. 7.

 

 

1. 이전에 어셈블리 코드로 만든 eaxm1-1.asm 파일을

 

목적코드 파일(오브젝트 파일)로 생성( .o 파일 )한다.

ex) nasm -f elf32 exam1-1.asm

 

exam1-1.o 목적코드 파일로 생성된다.

 

 

 

2. 목적코드 파일을 링크하여 실행파일( . exe 파일 )로 만들어 실행가능한 파일로 만들어준다.ex) ld --entry main exam1-1.o

 

a.out 이라는 실행파일이 생성된다.

( 실행파일 이름은 다른 이름으로 생성할 수도 있다. )

 

 

3. 생성된 a.out 실행파일을 gdb로 실행한다.

 

 

gdb 실행

: gdb -q a.out

-q 옵션) quite 옵션. gdb를 실행하실때 뜨는 안내문을 생략하고 gdb를 실행하는 옵션

 

 

 

 

gdb 명령어)

 

disas main

: main 의 것들을 디스어셈블해 보여주겠다.

 

x/x      <-  data 출력.                ex) x/x   $esp

                                                x/4x   $esp

                                                x/x   0xbffff098

x/s      <-  string 출력.

 

x/i       <-  instruction 출력.          ex) x/i   0x08048060

                                                  x/4i   0x08048060

 

break 명령어 : b                 

ex) b main

 

ni(next instruction) 명령어

: 다음 주소로 넘어간다.

 

info reg

: 해당 레지스터의 정보 값을 확인하겠다.

ex) info  reg  $esp

     info  reg  $eax

 

'Reverse Engineering > gdb' 카테고리의 다른 글

lea, and, or, xor 명령어  (0) 2020.10.10
sub, add 명령어  (0) 2020.10.10
gdb - Segmentation Fault, 대괄호 [ ]  (0) 2020.10.07
gdb 명령어, 리틀엔디언 방식  (0) 2020.10.07
gdb at&t 방식을 intel 방식으로 바꾸기  (0) 2020.10.07

댓글