일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- dataframe
- keras
- E-P1
- LSTM
- Numpy
- CNN
- Button
- ipad
- Series
- DFS
- RNN
- 삼성소프트웨어멤버십
- mariadb
- pandas
- synology
- GitHub
- install
- Splunk
- SciPy
- index
- imread
- SPL
- mean
- javascript
- pip
- 알고리즘
- Lotto
- pycharm
- Python
- GT-S80
Archives
- Today
- Total
잠토의 잠망경
MMF의 다른 용도. GetMoudleHandle을 이용 본문
#undef UNICODE #include#include int main(void) { char szWindowsDirectoryPath[1000]={0,}; char szKernelDll[1000]={0,}; //윈도우의 패스를 얻기위한 함수이다. GetWindowsDirectory(szWindowsDirectoryPath,1000); sprintf(szKernelDll,"%s\\system32\\kernel32.dll",szWindowsDirectoryPath); //파일을 읽기위한 용도로 열었다. HANDLE hFile=CreateFile(szKernelDll, GENERIC_READ,FILE_SHARE_READ, NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if(hFile==NULL) printf("CreateFile error\n"); //파일 매핑을 위하여 생성 HANDLE hFileMap=CreateFileMapping(hFile, NULL, PAGE_READONLY, 0,0,NULL); if(hFileMap == NULL) printf("CreateFileMapping error\n"); //파일의 사이즈를 읽어들인다. DWORD dwSize=GetFileSize(hFile,0); //파일의 전체 뷰를 만듬 char *pMapFile=(char*)MapViewOfFile(hFileMap, FILE_MAP_READ, 0,0,dwSize); if(pMapFile == NULL) printf("MapViewofFile- error\n"); //모둘에서 엔트리 포인터를 반환해준다. char *pDll=(char*)GetModuleHandle(szKernelDll); if(pDll == NULL) printf("GetMoudleHandle error\n"); //두 버퍼가 같은가를 확인한다. if(!memcmp(pDll,pMapFile, dwSize/2)) printf("Same"); else printf("Different"); UnmapViewOfFile(pMapFile); CloseHandle(hFileMap); CloseHandle(hFile); return 0; }
Comments