본문 바로가기

Computer Engineering

[펌글] gdb 를 통한 디버깅 따라하기 & gdb 매뉴얼 GDB 매뉴얼은 링크로 확인해주세요 ^_^ 참고서적 : 유닉스 리눅스 프로그래밍 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm 1. 우선 컴파일 시에 디버깅 정보를 담아야 한다. gcc -g -o [프로그램명] [소스파일명] 디버깅 옵션인 -g 으로 컴파일하며, 최적화 옵션인 -O 은 주지 않도록 한다. 2. 실행방법 gdb [프로그램명] gdb [프로그램명] [core파일명] gdb [프로그램명] [실행중인프로세스pid] 3. 종료방법 q Ctrl + d 4. 소스 찾아가기 (list) l : main 함수를 기점으로 소스의 내용이 출력된다 l 10 : 10 행 주변의 소스가 출력되는데 10 - 5 행부터 10 + 5행까지 총 10행이 출려된다. l func : func 함수의 .. 더보기
[System Security] push ebp / mov ebp,esp 0x08048420 :push ebp 0x08048421 :mov ebp,esp => passwd.test 를 DeskTop 에서 gdb 로 읽어들인 결과 상위 두 줄에도 역시 push ebp 를 확인할 수 있다. 이전에 ebp, esp 가 뭐냐고 물어 보신다면 여기로 가셔서 해당 용어를 한 번 읽어보고 오시면 좋을 것 같습니다. 클릭이 귀찮은 분들을 위해 ebp, esp 만 간략하게 이야기 하자면 EBP (Extended Base Pointer) - 현재 스택에 가장 바닥을 가리키는 포인터 (함수 내에서 스택상에 저장된 값을 참조할 때 기준) - 새로운 함수가 호출될 때마다 EBP 레지스터 값이 지금까지 사용했던 스택 꼭대기의 위에 위치하게 되고 새로운 Stack이 시작 - 따라서 EBP는 새로운 함수.. 더보기
[ESPC2] 0x03 보호되어 있는 글입니다. 더보기
[ESPC2] 0x02 보호되어 있는 글입니다. 더보기
[해결법] Ubuntu 에서 한글입력이 안될 때 Ubuntu(우분투) 한글 입력 안되요 http://ioriy2k.pe.kr/archives/1316 더보기
[ESPC2] 0x01 보호되어 있는 글입니다. 더보기
[퍼옴]2011년 주요 보안 이슈 정리 및 2012년 보안 이슈 전망 http://erteam.nprotect.com/218 더보기
[ESPC2] 0x00 System Security Intro 보호되어 있는 글입니다. 더보기
[ESPC1] 0x15 보호되어 있는 글입니다. 더보기
[ESPC1] 0x15 보호되어 있는 글입니다. 더보기