|
홍지곤 님이 쓰신 글 :
:
: 안녕하세요! Magic.홍지곤 입니다.
: 메모리 맵드 IO를 간단히 이용하여 일반 프로그램에서
: 쓰고, 읽기는 해보았습니다. 이방법으로
: DLL에서 쓰고, 일반 프로그램에서 읽을 려고 합니다.
:
: 혹시 이렇게 해보신 분 간단하게 답변 좀 부탁드립니다.
:
: 참고로, Q/A 글중에서 메모리 맵드하는 방법 참고하여
: 해보았습니다.
:
: 조금만 도와주세요!
: 그럼 즐프하세요!
일반프로그램과 dll 에서 매맵파일명을 똑같이 해야하고,
일반프로그램에서 매맵파일 생성,초기화 한후
dll 함수 로드,
dll 에 있는 쓰기함수는 매번 매맵파일을 오픈한후 쓰도록 만들어야합니다.
일반프로그램에 읽고 쓰는 함수가 있다면 파일 핸들을 서로 전역변수로 공유할수 있기
때문에 읽고,쓸때 매번 오픈할 필요가 없지만 dll 을 사용할경우 그 변수를 공유할수가 없으므로
dll 에서는 항상 그파일을 오픈한후 쓰기작업을 해야 합니다.
예를 들어 다음과 같은 프로그램을 만들수있습니다.
후킹을 이용해서 다른 프로그램을 감시하고 있다가 그 프로그램이 어떤 변화를 일으켰을때
어떤변화인지를 판단하는 프로그램말이죠.
일단 후킹을 해야하므로 훅핸들을 저장해야하는 매맵파일이 하나 필요하겠고
훅데이터를 읽고 쓰는 함수가 필요하겠죠.
그리고 감시대상 프로그램의 변화에 대한 정보를 DLL 이 기록해야 하므로
또 하나의 매맵파일이 필요하겠죠.
음.. 그리고 더 자세한것은 델코,한델,델마당등에 가시면 민성기님의 훅킹 강좌가 있으니
참고하십시오.
|