How to tell if a file is an EXE or a DLL?
2015-09-06 17:24
525 查看
How to tell if a file is an EXE or a DLL?
void DumpFile(LPWSTR filename) { HANDLE hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); LPVOID lpFileBase = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0); PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER)lpFileBase; PIMAGE_NT_HEADERS pNTHeader = (PIMAGE_NT_HEADERS)((DWORD)pDosHeader + (DWORD)pDosHeader->e_lfanew); if ((pNTHeader->FileHeader.Characteristics & IMAGE_FILE_DLL)) printf("dll"); if ((pNTHeader->FileHeader.Characteristics & IMAGE_FILE_EXECUTABLE_IMAGE)) printf("exe"); else printf("????"); UnmapViewOfFile(lpFileBase); CloseHandle(hFileMapping); CloseHandle(hFile); }
相关文章推荐
- java中解析excel(扩展)
- zabbix系列(一):服务端安装与汉化
- C#动态创建Access数据库及密码的方法
- c++的vector使用:c++面试题:从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写字母
- Memory Analyzer Tool定位Java heap space内存泄漏
- eclipse svn 切换项目svn地址
- 消息提示框
- javaScript 内置对象七 (Math)
- cocos2dx,Layer锚点与scale缩放
- IOS第18天(5,CABasicAnimation基本动画)
- 父视图 使用 UIViewAnimationWithBlocks 时,如何让子视图无动画
- HDU 1274 展开字符串(深搜+字符串,显示缩写的字符串)
- Spring AOP的实现原理之<aop:aspectj-autoproxy />的解析
- 线程与网络常见知识点解答
- HDU 5430 Reflect
- java 设计模式的开场浅谈
- 飞鱼星路由器常见问题解答
- struts2的搭建
- 2015.09.06 数据库笔记
- IllegalArgumentException: Argument for @NotNull parameter 'file' of com/intellij/openapi/vfs/VfsUtilCore.virtualToIoFile must not be null