可移植可执行文件(PE)格式是COFF的修改,是Windows操作系统下可执行二进制文件的文件格式。 PE格式很容易通过其“MZ DOS头”(0x4d 0x5a,“MZ”代表“Mark Zbikowski”)识别。
我在IDA中注意到我分析的PE文件不仅有.rdata部分还有.idata。有什么区别?
错误的库在手动生成的 PE 64 位可执行文件中加载错误的函数
我有 64 位手动生成的 PE 可执行文件。我需要加载两个库kernel32.dll和user.dll。它给出了第一个错误。 如果我只有一个库(这将是 kernel32.dll),我会得到...
调用 DLL 函数的地址修复是一个多阶段过程:链接器将调用指令定向到间接跳转指令,并将间接跳转指令定向到
我正在尝试学习PE格式以及PE加载器如何工作,我以这个存储库为例,https://github.com/TheD1rkMtr/FilelessPELoader。 FilelessPELoader 不支持重定位。对吧...
可移植可执行文件 (.exe) 文件格式中的 3 个基本部分:.data(资源)、.rdata(导入)和 .text(指令)可以任意顺序,只要“入口点地址”一致即可' 场
我在阅读 SysUtils 时遇到了这个函数: 函数ALR:指针; 变量 LibModule:PLibModule; 开始 如果 MainInstance <> 0 那么 结果 := 指针(LoadResource(MainIns...
在最新版本的 PE 文件中,有一个存根向 MS DOS 用户显示“此程序无法在 DOS 模式下运行”这句话。为什么这样的消息仍然存在,尽管它浪费了大约38个字节?有没有...
如何从 C# 中识别 .exe 文件是 32 位还是 64 位
如何确定 C# 中的 .EXE 文件(不是我的应用程序、不是另一个正在运行的应用程序、不是 .NET 应用程序)是 32 位还是 64 位?我发现的最好的就是这个,我猜有一个国家......
我看到 EXE 标头中放置了一个奇怪的值 00000000 :4D 5A 90 00 03 00 00 00 - 04 00 00 00 FF FF 00 00 00000010 :B8 00 00 00 00 00 00 00 - 40 00 00 00 00 00 00 00 00000020 :00 00 00 00 00 00...
我正在尝试获取 .text-section 的标题。似乎有效的是: // 获取 DOS 标头。 pDosHeader = (PIMAGE_DOS_HEADER) hMap; // 获取第一节的标题 pSectionHeader = (
学习一些 nasm 和我的汇编项目的文件格式。我目前对 SizeOfHeaders 感到非常困惑。 看一下官方文档: PE头和节的大小...
我需要检查文件是否是PE文件。我需要检查前两个字节是否为 MZ,我这样做了。 这是我的任务:验证PE格式时,不仅要根据MZ表达式,还要
PE文件(PE/COFF)有什么要求?至少应该设置哪些字段、哪些值,以使其能够在 Windows 上“运行”(即执行“ret”指令...
我想列出PE(可移植可执行文件)中的所有导出函数。 这是一些代码: PIMAGE_DOS_HEADER dos_header = (PIMAGE_DOS_HEADER)PE_Header; PIMAGE_NT_HEADERS32 ntHeader = (PIMAGE_NT_HEA...
MS 文档说 BaseOfCode 值仅存在于 PE 文件中,而不存在于 PE+ 中。使用 dotPeek 和 PE 查看器查看 notepad.exe 似乎表明存在 BaseOfCode...
在 Windows PE 文件中,当 2 个部分具有相同的原始地址时会发生什么?
我正在查看一个用 UPX 打包的 PE 可执行文件,各个部分的布局如下: UPX0:原始地址:0x400,原始大小:0x0,虚拟地址:0x1000,虚拟大小:0x6000 UPX1:原始地址:0...
我正在学习分析pe文件,我已经了解了可执行映像中可选标头中的校验和以及如何使用它来检查驱动程序和系统dll的验证。我检查了一些...
使用CFF explorer和msdn doc解析PE文件以查找导出表地址
我正在处理一个PE文件,我尝试在IDA中解释这一行: v4 = *(_DWORD *)((char *)库A + *((_DWORD *)库A + 15) + 120); LibraryA是PE文件的基地址 *((_DWORD *)库A...
我尝试过这段代码: HMODULE hModule = LoadLibrary(argv[1]); PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)hModule; PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)((DWORD_PTR)hM...
从 .rdata 部分删除 IMAGE_DEBUG_DIRECTORY
如何从 PE 的 .rdata 部分删除 IMAGE_DEBUG_DIRECTORY 数据? 我正在使用 MS Visual Studio 2015。我确实检查了项目属性的几乎所有编译选项。但是 IMAGE_DEBUG_DIRECTORY 数据