我一直在努力了解PE文件结构,我编译了下面的小程序来检查output: 这使用fputc function,需要从 .dll 文件链接进来。 我使用gcc -o program.exe program.c在 MSYS 中编译了它。 当我查看生成的可执行文件的.idata部分时,它显示它从msvcrt ...
我一直在努力了解PE文件结构,我编译了下面的小程序来检查output: 这使用fputc function,需要从 .dll 文件链接进来。 我使用gcc -o program.exe program.c在 MSYS 中编译了它。 当我查看生成的可执行文件的.idata部分时,它显示它从msvcrt ...
我正在尝试将运行时地址反转为它们的objdump -dl地址以创建采样分析器。 我在 GCC 11.1 下编译时遇到的问题是,PE 图像加载在不同的位置,我可以使用CreateToolhelp32Snapshot检索该位置,但是如果我从使用GetThreadContext检索的rip指令地址中减去该 ...
我试过的: 我用 HXD 打开了 Opera-Setup installer.exe 并将其导出到 c-sourcecode 我将 output 的 shellcode 放在主 function 中执行如下: 然后我将此 c 文件编译为 exe。 但是当我执行它时,它很快就会打开一个控制台,但之后 ...
嗨,我想从 memory 执行 exe / dll 文件的二进制代码,我发现了这个代码: 我在 github 上找到的这段代码当我启动它时它只是等待什么都不做:比我替换我自己的二进制代码来进行这样的项目: 太长了,分享一张图。 当我调试它时,我看到了这个错误: 但有时也有效?! 什么是问题? ...
我想要实现的是向第二个 PE 文件(目标 PE)添加一个新部分,并能够在目标内部的运行时访问它,所以我正在寻找有关如何在插入后覆盖部分地址表的指导新的部分。 我正在使用名为 libpeconv 的库从 unsigned char 值加载和解析 PE 二进制文件,并在 EOF 处添加该部分,但我想知 ...
我刚刚阅读了 PE 文件中的一节。 我有这样的 output : 我只想阅读可执行部分。 例如,如何才能 read.text 部分? ...
我需要检查文件是否是PE文件。 我需要检查前两个字节是否为 MZ,我这样做了。 这是我的任务:在验证PE格式时,不仅要根据MZ表达式,还要使用读取IMAGE_NT_HEADERS结构,通过读取IMAGE_FILE_HEADER字段验证Signature字段且Machine字段等于Th的条件值 IMA ...
与标题相同,我试图找出 PE 部分的最大大小,我已阅读 Microsoft 的所有 PE 和 libloaderapi 文档,但我找不到有关最大部分大小的任何信息,或者是 PE部分有最大尺寸吗? ...
这个问题跟随这个问题。 我使用导入表、ILT、IAT 和提示/名称表管理了 idata 部分的创建。 当我使用像 PE-bear 这样的 PE 文件检查器工具时,一切看起来都很好,并且在 .text 部分的反汇编视图中,PE-bear 能够找到“调用”指令引用的函数的名称。 这是屏幕截图: 但可悲 ...
我正在阅读PE 文件结构的文档,我想知道 PE 结构的哪些部分可能会有所不同而不改变其行为。 为了澄清,假设我有两个计算器程序的 PE,COFF 文件 Header 的 TimeDateStamp 可能在它们之间有所不同,但程序本身将是“等效的”。 我的问题是它们之间可能也不同的所有领域是什么? ...
问题是关于将可移植的可执行映像加载到随机地址。 我们以 kernel32.dll 为例,加载在 0x75A00000。 我可以看到,在图像的偏移量 0x10e15 处,有一条汇编指令,这取决于图像所在的位置。 地址:75A10E13 字节:8B 35 18 03 AE 75 命令:MOV ESI, ...
I have downloaded a file via this link: https://downloads.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe?ts=gAAAAABi5vYXXchWwmfZlmf0s7u ...
我正在尝试在 NASM 中编写一个“Hello_world”EFI 应用程序,但似乎无法使其正常工作。 当我运行应用程序(在 VirtualBox 中)时,它不会打印任何内容。 它只是挂起。 这是我的代码: 假设文件保存为“hello.asm”,我使用nasm -f bin -o hello.ef ...
我需要一种非 Windows(linux 或 FreeBSD)方式来签署 Authenticode PE 格式的启动可执行文件(EFI 二进制文件)。 目前在 *nix 平台上有一些工具,如pbsign 、 sbsign 、 uefisign 、 osslsigncode ,但常见的模式是它们都需要 ...
在 Windows 上,PE 文件(可执行文件)有一个属性“原始文件名”,即构建可执行文件时的文件名。 例如,对于签名文件,这意味着您不能将“svchost.exe”更改为“innocent.exe”而不留下痕迹。 ELF 二进制文件有类似的属性吗? ...
我一直在寻找一种简单的方法来手动将任何 x64 PE 对齐到 0x10000 部分对齐,我能找到的只是 pe 文件对齐或重新对齐。 作为测试用例,我使用了 notepad++ 的源代码,并使用 vs 2022 社区对其进行了编译。 第一次使用 0x1000 的部分对齐页面大小默认对齐,第二次使用 0 ...
问候溢出者, 几乎完成了我的网络安全副学士学位。 尝试从字节码中的 dll 手动加载导入。 PIMAGE_DATA_DIRECTORY 的虚拟地址和大小显示正确的值。 解析 PIMAGE_IMPORT_DESCRIPTOR 后,无法正确解析这些值。 ...
所以我需要一种方法来从它的 PE 文件 .text 区域/它所在的任何部分中获取函数的偏移量,或者在文件中引用另一个函数。 我想做类似的事情: void func_two() { /*...*/ } void call_our_function() { /*...*/ } vo ...
我的问题相当琐碎和简单,我正在尝试编写一个加壳程序,为此我需要解析 PE 文件,所以我正在尝试使用C++ pe-parse 库。 我按照说明构建了它,现在我正在尝试将它链接到我的简单main.cpp文件: 这是我的文件结构: MinGW 确实是 x64 ( x86_64-w64-mingw32 ...
我需要帮助来理解这些概念。 我知道 rva 是基地址的偏移量。 但它与文件中的内容有关吗? 我知道它是从内存中加载图像的位置,但是在可执行文件本身中,rva 与什么相关? 文件的开头,所以文件的ID在开始? 谢谢阅读 :) ...