`
jerry1985
  • 浏览: 30346 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

windows下检查PE格式文件(c语言)

cpe 
阅读更多
windows下检查PE格式文件(c语言)

#include <windows.h>
#include <stdio.h>

int main()
{
	HANDLE hFile;
	IMAGE_DOS_HEADER dosHeader;
	IMAGE_NT_HEADERS ntHeader;
	DWORD dwRead;
	
	hFile = CreateFile("D:\\software\\eclipse\\eclipse.exe", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
	if(hFile == INVALID_HANDLE_VALUE)
	{
		printf("file not found!\n");
	}
	ReadFile(hFile, &dosHeader, sizeof(dosHeader), &dwRead, NULL);
	if(dwRead == sizeof(dosHeader))
	{
		if(dosHeader.e_magic == IMAGE_DOS_SIGNATURE)
		{
			if(SetFilePointer(hFile, dosHeader.e_lfanew, NULL, FILE_BEGIN) != -1)
			{
				ReadFile(hFile, &ntHeader, sizeof(ntHeader), &dwRead, NULL);
				if(dwRead == sizeof(ntHeader))
				{
					if(ntHeader.Signature == IMAGE_NT_SIGNATURE)
					{
						printf("it's a pe file!\n");
						return 1;
					}
				}
			}
		}
	}
	printf("it's not a pe file!\n");
	return 0;
}
分享到:
评论

相关推荐

    PE文件解析器的原理(C语言代码)

    PE文件,全称为Portable Executable,是Windows操作系统中用于执行的二进制文件格式,包括.exe、.dll等。在本话题中,我们将探讨如何使用C语言来编写一个PE文件解析器,仅依赖于几个Win32 API函数,并且着重构建解析...

    PE调试器C语言

    在IT行业中,PE调试器是用于分析和调试可移植可执行(Portable Executable,简称PE)格式文件的工具。这些文件通常包括Windows操作系统中的应用程序和动态链接库(DLL)。本主题将深入探讨PE调试器的一些核心功能,...

    分析PE文件格式的源码 C的

    总之,分析PE文件格式的源码有助于深入理解Windows程序的内部工作原理,以及如何在底层进行程序调试和逆向工程。这是一项对系统编程和安全分析人员非常有价值的技能。通过阅读和理解`hookdll`的源码,你可以学习到...

    PE文件解析器

    综上所述,PE文件解析器是理解和操作Windows可执行文件的强大工具,它揭示了PE文件的内在细节,为各种技术任务提供了支持。通过图形界面的PE解析工具源码,开发者可以更深入地学习PE文件格式,从而构建自定义的分析...

    C语言怎么获得进程的PE文件信息

    PE文件格式是Windows操作系统中用于存放可执行程序、动态链接库(DLL)等二进制文件的标准格式。了解如何通过C语言读取并解析这些信息,有助于理解程序的内存布局、资源分配以及代码行为。 首先,我们要知道PE文件由...

    软件加壳方案(原创C语言版)

    - **PE文件格式**:Windows操作系统下可执行文件的标准格式。 3. **方案细节** - **功能划分**:加载器主要负责资源加载、地址重定位、导入表处理等功能。 - **Shell.exe流程图**:展示了加载器从启动到传递控制...

    任务管理器的进程信息取得 C语言版

    本项目聚焦于使用C语言获取任务管理器中进程的相关信息,特别是适用于Windows 2000、XP、NT以及Win7和Vista等操作系统。 首先,要获取进程信息,我们需要使用Windows API(应用程序编程接口)。Windows API提供了一...

    判断程序是否为WIN32程序

    4. PE文件格式:了解PE头的组成和解析方法。 5. C语言编程基础:运用指针、内存管理和条件判断。 通过这个代码,你可以开发出一个实用的工具,帮助用户快速识别程序的运行环境,这对于系统管理员、软件开发者以及...

    ELF文件分析readelf的使用

    例如,在Windows环境下,目标文件遵循PE(Portable Executable)格式;而在Linux系统中,则采用ELF(Executable and Linkable Format)格式。这两种格式都是基于COFF(Common Object File Format)格式的一种变体。 ...

    pyinstaller安装所需文件及其依赖.rar

    PyInstaller在生成Windows平台上的可执行文件时,需要用到pefile来处理PE文件结构。 5. **pywin32-ctypes-0.2.0.tar.gz**:这个库提供了对Windows API的访问,它是基于ctypes构建的,而ctypes是Python的标准库,...

    C、C++程序编译步骤以及如何生成可执行文件

    可执行文件格式取决于操作系统,常见的格式有ELF(Linux)、PE(Windows)等。 #### 四、总结 通过上述介绍可以看出,C/C++程序从源代码到可执行文件的过程中涉及多个步骤,每个步骤都有其独特的作用。预处理简化...

    针对缺少dll的分析工具 Dependencies.zip

    标题中的“针对缺少dll的分析工具 Dependencies.zip”...同时,其他附属的exe和dll文件可能提供了辅助功能,例如PE文件查看和.NET环境测试。在遇到ImportError或DLL加载失败问题时,这个工具箱将是一个非常实用的资源。

    nasm-2.06rc10-源代码.zip

    在Windows环境下,NASM不仅能够生成DOS、Windows PE格式的目标文件,还能输出其他如ELF(Linux)和COFF(Unix)格式。这使得NASM在跨平台开发中具有很高的灵活性。 通过深入研究这些源代码,开发者可以学习到: 1....

    windbg c++开发调试工具

    至于文件名称列表中的"DebuggingToolsforWindows(x86)",这可能包含了一套完整的Windows调试工具集,除了Windbg之外,可能还包括其他辅助调试工具,如:PE Viewer(用于查看PE文件结构)、Process Explorer(替代...

    1-mooc-操作系统概述1

    2. 操作系统检查:查找指定文件,确认其是否为可执行文件,如PE格式(Windows)或ELF格式(Linux)。 3. 创建进程:为程序创建一个新的进程,将程序映射到进程的地址空间。 4. CPU调度:操作系统根据调度策略选择...

    linux栈分析.pdf

    如在Windows PE(Portable Executable)格式的可执行文件中,栈用于管理函数的调用和数据存储。 9. 栈溢出与安全问题 文档最后提到了buffer overflow(缓冲区溢出),这是指程序向栈上分配的内存区域写入超出其大小...

    python模块下载及安装方法.docx

    36. **pefile**:用于解析Windows PE文件的库,对二进制文件分析很有帮助。 37. **winpdb**:Python的远程调试器,方便进行代码调试。 38. **pywmi**:Python的WMI(Windows Management Instrumentation)库,用于...

    易语言内存中运行程序源码

    这可能涉及到PE文件结构的理解,PE是Windows平台上的可执行文件格式。 3. **指令解码与执行**:在内存中运行的程序需要解析二进制代码并执行。易语言可能提供了相应的API或函数,用于读取和执行内存中的指令。 4. ...

    (完整)免杀全教程【请勿用于非法】.pdf

    PEditor是用于修改可执行文件(PE文件)的工具,它允许用户对PE文件进行各种编辑操作,例如修改文件头信息、资源、导入导出表等。这种工具常被用于程序打包、解包和修改程序的行为。 2. 调试器(OllyDbg) OllyDbg...

Global site tag (gtag.js) - Google Analytics