zoukankan      html  css  js  c++  java
  • How to tell if a file is an EXE or a DLL?

    How to tell if a file is an EXE or a DLL?

     1 void DumpFile(LPWSTR filename)
     2 {
     3     HANDLE hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
     4 
     5     HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
     6 
     7     LPVOID lpFileBase = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0);    
     8 
     9     PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER)lpFileBase;
    10 
    11     PIMAGE_NT_HEADERS pNTHeader = (PIMAGE_NT_HEADERS)((DWORD)pDosHeader + (DWORD)pDosHeader->e_lfanew);
    12 
    13     if ((pNTHeader->FileHeader.Characteristics & IMAGE_FILE_DLL))
    14          printf("dll"); 
    15     if ((pNTHeader->FileHeader.Characteristics & IMAGE_FILE_EXECUTABLE_IMAGE))
    16          printf("exe"); 
    17     else 
    18          printf("????");
    19 
    20     UnmapViewOfFile(lpFileBase);
    21     CloseHandle(hFileMapping);
    22     CloseHandle(hFile);
    23 }
  • 相关阅读:
    HTML的基本骨架
    2017.7.27
    2017.7.26
    2017.7.25
    2017.7.24
    2017.7.22
    2017.7.21
    Javascript Step by Step
    Javascript Step by Step
    Javascript Step by Step
  • 原文地址:https://www.cnblogs.com/shangdawei/p/4786700.html
Copyright © 2011-2022 走看看