ELF파일의 실행파일 해석및 도식화 (16page)
- 최초 등록일
- 2009.03.27
- 최종 저작일
- 2008.09
- 16페이지/ 한컴오피스
- 가격 3,000원
소개글
Project 3 : Loading Executable Files
1. 목표
ELF 포맷의 실행 파일을 해석하고 이에 대한 파싱 기능(Parse_ELF_Executable())을 구현한다.
2. 구현 내용
Parse_ELF_Executable() 함수 구현
(과제1) 위의 "elf.c" 소스 코드는 Parse_ELF_Excutable();함수를 간략하게 구현한 것으로 이를 참고하여 "src/user/a.c"코드가 정상적으로 수행되도록 elf.c의 Parse_ELF_Excutable()함수 수정
(과제2) “a.c"와 유사한 응용 프로그램을 작성하고, objdump를 수행하여 덤프된 메모리 내용을 캡쳐하고 메모리 맵을 도시화한후 설명(elf 분석)
힌트 1)
- 실행 루틴 및 함수 설명
?main() 함수의 Spawn_Init_Process() 함수에서 실행되는 Spawner() 함수는 “src/user/a.exe”를 읽어 들여 Parse_ELF_Executable() 함수로 해석 및 파싱을 하고 이를 메모리에 로드하고 로딩 된 프로그램을 실행
힌트 2)
- Parse_ELF_Executable(char *exeFileData, ulong_t exeFileLength, Struct Exe_Format : exe 포맷에 대한 세그먼트 리스트와 정보 및 코드 엔트리 포인트 주소 등의 정보 포함
힌트 3)
- Parse_ELF_Executable() 함수 구현 기능
힌트 4)
- OBJDUMP 사용 예제
샘플 코드를 작성 한 후 디버깅 모드로 컴파일
확인된 내용을 도시화 및 분석
잘 읽어보면 알겠지만, 이것은 완전한 코딩숙제가 아니라
ELF의 구조를 알기위한 과제라고 할 수 있습니다.
레포트는 EFL파일을 완전 상세히 분석해 놓았습니다. (방법까지 상세히 설명)
정말 이 숙제 노가다였다능ㅜㅜ
일일이 파워포인트로 그리고 썼어요. 보시면 알겠지만
도식화가 완벽하게 되어있습니다.
목차
Ⅰ. 과제개요
Ⅱ. 설계
Ⅲ. 구현
Ⅳ. 테스트 프로그램의 구성 및 테스트의 주안점
Ⅴ. 테스트 및 결과 - 도식화
Ⅵ. 소스코드
본문내용
1. 목표
Elf 포맷의 실행파일을 해석하고, 이에 대한 파싱기능(Parse_ELF_Executable())를 구현한다.
2. 보고서 제출양식
1) 과제개요
2) 설계
3) 구현
4) 테스트 프로그램의 구성 및 테스트의 주안점
5) 테스트 및 결과 :
테스트 프로그램의 수행 결과와 수행 결과를 통해 변경/추가된 부분이 정확하게 동작함을 상세하게 설명
6) 소스코드 : 주석포함
3. 구현내용
과제1) 주어진 "elf.c"소스코드는 Parse_ELF_Executable() 함수를 간략하게 구현한 것으로 이를 참고하여 “src/user/a.c"코드가 정상적으로 수행되도록 elf의 Parse_EL
F_Executable() 함수 수정
void ELF_Print(char* msg);
char s1[40] = "Hi! This is the first string\n";
int main(int argc, char** argv){
char s2[40] = "Hi! This is the second string\n";
ELF_print(s1);
ELF_print(s2);
return 0;
}
void ELF_Print(char* msg);
char s1[40] = "Hi! This is the first string\n";
int main(int argc, char** argv){
char s2[40] = "Hi! This is the second string\n";
ELF_print(s1);
ELF_print(s2);
return 0;
}
참고 자료
없음