본문 바로가기
보안

해킹-공격의 예술(책) 공부 2일차

by 손정빈 2016. 2. 20.
728x90
반응형

공부 내용 : 디버깅 방법과 명령어,  간단한 사용, 역어셈블리


디버깅 시 intel 문법으로 바꾸는 법

gdb -q

set disassembly intel 또는 set dis intel 이라고 치면 된다 하지만 set dis intel은 내 컴퓨터에서 안됨..


또 다른 방법은

.gdbinit 파일에 설정에 해주는 것이다

파일을 실행해서 치든 상관없다. 하지만 난 echo 명령어를 사용하였다.

echo "set disassembly intel" > ~/.gdbinit


그리고 인텔의 문법 형식은

명령어 <목적지>, <근원지> 이다.

예를 들어서 mov rbp, rsp 라고 하면 rsp를 rbp로 복사해라는 뜻이다.

또는 sub rsp, 0x8은 rsp에서 8을 빼라는 뜻이다.


또 컴파일 시 -g 옵션을 넣어주면 디버깅 시 소스를 볼 수 있다.


또한 디버그 명령어가 있는데

list : 소스 출력

disassemble 함수 : 지정한 함수를 역어셈블리 한다.

break 함수 : 중지점으로 설정

info register (레지스터) : 레지스터의 정보가 출력(레지스터가 가지고 있는 값을 출력한다)

줄여서 i r (레지스터) 가능

x/() (레지스터 또는 주소) : 레지스터 또는 주소가 가르키는 주소에 있는 값을 출력한다.

()안에는 t,o,u,x가 가능한다 t는 2진수 o는 8진수 u는 10진수 x는 16진수이다.

x/()안에 b, h, w, g가 입력이 가능하다. b는 단일바이트, h는 하프워드(2바이트), w는 워드(4바이트), g는 자이언트(8바이트)로 출력이된다.


그리고 또한 x/i (레지스터 또는 주소)를 입력하면 레지스터 또는 주소가 가르키는 주소에 있는 값이 어셈블리어로 출력이 된다.


반응형

'보안' 카테고리의 다른 글

해킹-공격의 예술(책) 공부 1일차  (1) 2016.02.18

댓글