검색어 입력폼

이진폭탄제거(bomb lab) 프로젝트 계획서

저작시기 2009.12 |등록일 2009.12.30 한글파일한글 (hwp) | 4페이지 | 가격 800원

소개글

이진 폭탄 제거 프로젝트를 시작하기전 어떻게 수행하고,
어떤 툴을 사용하고, 어떤 배경지식으로 풀지 상세히 기술하였다.
한마디로 프로젝트계획서이다.

목차

① 이번 프로젝트에서 사용할 툴: GDB Debugger.
② gdb debugger을 실행시키기 까지의 준비과정.
③ 문제를 어떻게 풀 것인가? (c 코드 분석)
⑤ 문제를 어떻게 풀 것인가? (disassemble을 통한 분석)
⑥ 문제를 푸는데 도움이 되는 내용들

본문내용

③ 문제를 어떻게 풀 것인가? (c 코드 분석)

→vi bomb.c를 통해서 bomb.c 의 소스코드를 보았는데, 중간중간에 달려있는 주석들이 도움이 되었다.

→c 코드를 본 후, 이진폭탄이 총 6단계로 이루어져 있다는 것을 알 수 있었다.

→또한, 6단계 까지가 같은 형태로 이루어져 있었는데, 코드를 보면
input = read_line();
phase_k(input); //k는 1~6 단계
phase_defused();
printf("성공했다는 comment가 나온다");
모두 이런형태로 되어 있었다.

→이를 통해 유추해본 결과 read_line() 함수를 통해서 사용자의 input을 받고 그 input을 phase_k (k단계) 에 인자로 넘겨주어서 phase 함수 안에서 그 input이 답이면 phase_defused() 함수를 통해서 폭탄이 해체되고 성공했다는 comment가 출력이 된다.

→6단계 까지 모두 clear 하고 나면 c 코드에는 이러한 주석이 달려있다.
/* Wow, they got it! But isn`t something... missing? Perhaps
* something they overlooked? Mua ha ha ha ha! */
6단계 까지 모두 clear 하였지만, 무언가 우리가 빠트리고 간과하고 있는 것이 있지 않느냐 는 내용이다. 나중에 어셈블리어로 분석을 할 때에, secret_phase가 있다는 것을찾게 되었는데, 위의 주석은 c코드에 미리 비밀단계의 이진폭탄이 있다는 것을 암시해 놓은 것이다.
다운로드 맨위로