#프로그램 작성
#컴파일 방법
gcc -o test test.c -m32 -mpreferred-stack-boundary=2 -fno-stack-protector
-m32 :
-mpreferred-stack-boundary=2 :
-fno-stack-protector :
#어셈블리어로 컴파일
gcc -S test.c => test.s 라는 어셈블리코드 생성
#intel 계열로 보는 방법
(gdb) set disassembly-flavor intel
#child 프로세스 보는 방법
(gdb) set follow-fork-mode child
####### gdb명령어들 #####
gdbinit 파일을 다운받아 홈디렉토리에 생성하면 아래 설정들을 자동으로 세팅할 수 있음
display /i $pc -> 실행되는 어셈코드 보여준다.
# 해당 함수 보기
disass main
disass system
disass time
# 브레이크 포인터 설정(b 다음에는 항상 *가 온다)
b *main
b *main + 6
b *0x8048433
# 브레이크 포인터 정보 및 삭제
info b
del 1
del 2
# 실행
r
c //다음 breakpoint까지 Continue
# 다음행 진행
ni
si
# register 또는 주소 정보
info reg
i r
x $eip
x 0x8048843
x/i $eip //2진수로 출력
x/4i 0x8048843 //4개씩 보고 싶을 때
x/s $esp //null을 만날 때까지 문자열 표현
x/16bx 0x8048843 //바이트로 출력
x/16wx 0x8048843 //워드단위로 출력
x/u $esp //10진수로 출력
엔터를 치면 4byte 뒤에 값이 나옴
# 디버깅 중 명령어 실행
shell ls -al
!ls -al
# pid 및 process map 확인
info proc
!ps
!cat /proc/<pid>/maps
'IT 자격증 > 정보보안기사' 카테고리의 다른 글
[정보보안기사 실기] 시스템보안③ (0) | 2016.04.18 |
---|---|
[정보보안기사 실기] 시스템보안② (0) | 2016.04.17 |
[정보보안기사 실기] 시스템보안① (0) | 2016.04.16 |
ASM to C (1) (0) | 2014.12.10 |
리버싱 공부 (0) | 2014.12.09 |