공유 데이터 섹션

개발/연구 / / 2006. 9. 5. 09:29


def 파일은 dll의 함수중 익스포트시킬 함수 목록을 컴파일러에게 알려주기 위해서 쓰인다.
물론 def파일 방식을 안쓰고 함수명에 __declspec(dllexport)를 붙여줘도 같은 역활을 한다.
함수명 옆에 @숫자는 익스포트시키는 함수의 서수이다.
ordinal number 라고 하는데 그냥 익스포트 되는 몇번째 함수 다 그정도 의미입이다.
def파일은 아주 예전 방식이라서 옛날에는 서수방식으로 함수를 호출할 수 있었는데 지금은 의미가 없어졌다.
def로 컴파일하려면 Project/setting Link에서 Project Option에 /def:"test.def" 해줘야 한다.

SECTIONS
.HKT Read Write Shared

는 .HKT는 큰 의미는 없고 데이타 섹션 .HKT라고 이름짓고 이곳은 읽고 쓰기가 공유된다는
의미로 프로세스들이 이 dll을 각 프로세스 영역으로 로드(정확히 말하면 해당 프로세스 영역에 매핑) 하면 각각 dll의 데이타는 해당 프로세스 영역으로 각각 생기는데 shared된 녀석은 모든 프로세스들이이 dll의 데이타를 공유해서 쓸 수 있게 한다는 것.
후크 dll은 해당 victim 프로세스에도 dll이 로드되어 어떤 후크된 데이타를 공유데이타에 넣어놓고 내 프로세스에서도 후크 dll을 로드하여 해당 공유데이타를 읽어오게 하기 위한 것이다.
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기