• 캠퍼스북
  • 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

16년도 시스템프로그래밍 bomblab(폭탄랩) 카네기멜론대학 lab시리즈

*상*
개인인증판매자스토어
최초 등록일
2017.07.09
최종 저작일
2016.11
19페이지/한글파일 한컴오피스
가격 5,000원 할인쿠폰받기
다운로드
장바구니

* 본 문서는 한글 2005 이상 버전에서 작성된 문서입니다. 한글 2002 이하 프로그램에서는 열어볼 수 없으니, 한글 뷰어프로그램(한글 2005 이상)을 설치하신 후 확인해주시기 바랍니다.

소개글

ㅊㄴㄷ 시스템프로그래밍 ㄱㅎㅅ 교수님 강의를 수강하며 작성한 레포트입니다.
16년도부터 각 랩의 문제들이 64비트 기반으로 변경된 것을 바탕으로 풀었습니다.
만점을 받은 레포트이며, 폭탄랩은 소스코드를 읽어서 답안을 작성제출해야 하므로
답안을 유도해낸 과정을 보고서에 작성하였으며 Flow Chart를 요구하여 상세히 그렸습니다.
phase_1 ~ phase_6 포함, 보너스 phase_7 또한 포함되어 있습니다.

목차

1. 개요

2. 각 단계에 대한 해결 방법
2.1 해결방법
2.2 Flow Chart(순서도)
2.3 정답

3. 고찰 및 느낀 점

4. 결과 화면
4.1 폭탄 해체 화면
4.2 웹 페이지 결과 화면

본문내용

1. 개요
07주차 실습은 폭탄랩(Boom lab)으로 이때까지 이론과 실습에서 배웠던 개념들을 적용하여 폭탄(Boom)이라는 파일을 해체하는 실습이다. 총 7단계의 Phase로 구성되어 있으며 그 중 6단계의 Phase는 기본적으로 주어져 있지만, 마지막 secret_phase는 개발자가 숨겨둔 스트링단어를 정답에 같이 입력함으로써 진입이 가능하다. 폭탄을 해체하는데 리눅스 환경에서는 vi, objdump, gdb등의 명령어를 사용하고, 주 작업은 gdb boom명령어를 통해 gdb환경에서 폭탄 해체작업을 한다. gdb에서는 레지스터에 저장된 값을 볼 수 있는 info registers 명령어, 메모리주소에 저장된 값을 볼 수 있는 x/[bit][type] [address] 명령어 등을 이용하여 폭탄해체에 필요한 정보를 얻어 정답을 유추한다.
폭탄 해체작업은 실시간으로 각자의 진행상황이 웹페이지에 등록된다.

2. 각 단계에 대한 해결 방법
Phase_1
2.1 해결 방법
phase_1에서는 2번째 줄에서 esi레지스터에 $0x402670번지에 저장되어 있는 값을 복사하고 strings_not_equal메소드를 호출한다. 그리고 함수호출로 반환된 값 eax를 test %eax, %eax를 이용하여 ZF=1이면 스택의 크기를 증가시키고 프로그램을 종료하고, ZF=0이면 폭탄이 터지게 된다. 이 때 ZF=1이라는 것은 eax에 저장된 값이 0이어야 하고 eax가 0이려면 strings_not_equal에서 비교하는 두 스트링이 같아야 한다. 그래서 처음에 esi레지스터에 저장하였던 값을 확인하기 위해 gdb에서 x/s $0x402670를 사용해보니 "Brownie, you are doing a heck of a job."이라는 스트링 값이 저장되있음을 알 수 있었다. 그리고 gdb에서 b strings_not_equal으로 브레이크포인트를 설정하고 info register명령어를 통해 레지스터에 저장되는 값을 확인해보니 사용자로부터 입력받는 값은 rdi레지스터에 저장되고, $0x402670에 저장된 값은 esi레지스터에 저장되는 것 확인하였다.

참고 자료

없음
*상*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
16년도 시스템프로그래밍 bomblab(폭탄랩) 카네기멜론대학 lab시리즈
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업