본문 바로가기

[Rookiss] tiny_easy - 30pt 보호되어 있는 글입니다. 더보기
PE Viewer 개발 2일차 오늘은 많은 부분을 제작하지 못했다. 일단 메모리에 파일을 올리는 것은 그대로 매핑해서 올리기로 하고, 전역변수에다가 각 헤더와 섹션을 구분해서 저장하기로 했다. 그리고 헥스로 출력하는 부분을 좀 더 나눠서 함수로 만들었다. 그리고 IMAGE_DOS_HEADER를 읽어와서 이를 각 멤버 변수들과 의미 등으로 구분해서 출력을 해야 하는데 이 부분을 반복문으로 처리하기가 약간 까다롭다.. 각 멤버 변수들마다 크기도 다르고, 이름도 제각각 달라서 어떻게 효율적으로 출력해야 할 지 고민중이다.. 아마도 각 변수들의 크기, 이름, 설명 등을 전부 테이블로 만들어서 반복문으로 처리하게 될 것 같은데 좀만 더 방법을 찾아봐야겠다.. 더보기
PE Viewer 개발 1일차 오늘은 기본적인 프로그램을 읽어 들이는 부분과 읽어들인 파일을 헥스로 표현하는 부분을 구현하였다. cpp파일을 main.cpp, loadPE.cpp, printPE.cpp 이렇게 새 개로 나누어서 함수를 작성하고 header.h 하나를 작성하였다. 헤더파일 안에 전역변수를 선언했었는데 자꾸만 이미 정의되어있는 변수라면서 에러를 마구 내뿜었었다. 검색을 해 보니 헤더파일에 선언을 할 때에는 extern 키워드를 앞에 붙여서 중복 선언이 방지되도록 해야 한다고 했다. 그렇게 오류를 해결하고 파일을 잘 읽어 들이고, 헥스로 출력하도록 했다.파일을 읽어 들이는 것은 먼저 CreateFile 함수로 파일 객체를 생성하고, CreateFileMapping 함수로 파일 매핑 객체를 생성하고 난 뒤에 MapViewOf.. 더보기