- 작성시간 : 2008/08/22 09:01
- 퍼머링크 : micingamja.egloos.com/4566402
- 카테고리 : win32
|
음...오늘도 새로운 하루가 시작했네요~~~
흐흐...
오늘도... 이 녀석..... .EXE .DLL 과 같이 PE라는 녀석에 대해서 알아봐야겠죠...
PE 는 무슨 약자인지 알죠??? Portable Excutable 이동할 수 있고, 실행 할 수 있고 뭐..2개의 형용사 이예요....
음... 자 어제 제가 어디까지 설명 했죠?????????
어제는 DLL이라는 녀석은 함수를 제공하는 녀석이다.
그리고, 노출 테이블을 가지고 있다. 이것을 Export Directory라고 한다라고 했습니다.
자~~~
그러면 이 Export Directory를 어떻게 찾아가는지 를 함 설명해 보죠~!!!
DLL이든 EXE든... PE파일은 다음과 같이 되어 있습니다.
1. DOS 대가리( DOS 헤더)
2. NT 대가리(PE 헤더)
3. Section 대가리
순으로 되어 있습니다.
그리고, 우리가 찾을려고 하는 Export Directory 는 어디 에 있는냐~~!!!!!!!!!! 2번째 NT 대가리 안에 있습니다.
그런데 NT 대가리(헤더)안에는 FILE 대가리(FILE 헤더), OPTION 대가리(OPTION 헤더) 가 들어 있는데 그 중에
OPTION 대가리안에 맨 마지막 필드중 Directory 배열이 있는데 그 안에 있습니다. 그 중에서도 첫번째~!!!
자 구조체를 함 봐보죠~~!!!
음... 이 DataDirectory 라는 놈안에 노출정보가 어디 있는지 알 수 있습니다.
자 그러면 오늘은 이 값을 찍는 대 까지만 합시다.
자 그럼
소스도 봤으니 자 실행 해보면...
이렇게 나옵니다.
이게 Export Directory의 위치와 크기입니다.
음...그럼 내일은. Export Directory 라는 녀석이 어떻게 생겼는지 함 봅시다. 그럼 오늘 문제 나갑니다.
<문제1> dll의 Export Directory 정보는 다음중 어느 대가리에 있는가? |
답은...
3)번...
예제 ) PeParser.ExportDir.001.zip




덧글
daewonyoon 2008/08/22 11:09 # 답글
header -> 대가리 : 큭큭큭 너무 재미있는 번역이에요.