cost 85 ms
Windows如何在加载时找到动态链接函数的位置 - How does Windows find where to dynamically link functions at load

我一直在努力了解PE文件结构,我编译了下面的小程序来检查output: 这使用fputc function,需要从 .dll 文件链接进来。 我使用gcc -o program.exe program.c在 MSYS 中编译了它。 当我查看生成的可执行文件的.idata部分时,它显示它从msvcrt ...

C++ 如何从 Memory 执行二进制文件? - C++ How to execute a binary from Memory?

嗨,我想从 memory 执行 exe / dll 文件的二进制代码,我发现了这个代码: 我在 github 上找到的这段代码当我启动它时它只是等待什么都不做:比我替换我自己的二进制代码来进行这样的项目: 太长了,分享一张图。 当我调试它时,我看到了这个错误: 但有时也有效?! 什么是问题? ...

如何使用 C++ 操作 PE 二进制文件中的段地址表? - How to manipulate section address table in a PE binary with C++?

我想要实现的是向第二个 PE 文件(目标 PE)添加一个新部分,并能够在目标内部的运行时访问它,所以我正在寻找有关如何在插入后覆盖部分地址表的指导新的部分。 我正在使用名为 libpeconv 的库从 unsigned char 值加载和解析 PE 二进制文件,并在 EOF 处添加该部分,但我想知 ...

在 c 中读取 PE 文件 - PE FILE reading in c

我需要检查文件是否是PE文件。 我需要检查前两个字节是否为 MZ,我这样做了。 这是我的任务:在验证PE格式时,不仅要根据MZ表达式,还要使用读取IMAGE_NT_HEADERS结构,通过读取IMAGE_FILE_HEADER字段验证Signature字段且Machine字段等于Th的条件值 IMA ...

如何使用 x86 操作码在 IAT 中调用函数 - How to call functions in IAT with x86 opcodes

这个问题跟随这个问题。 我使用导入表、ILT、IAT 和提示/名称表管理了 idata 部分的创建。 当我使用像 PE-bear 这样的 PE 文件检查器工具时,一切看起来都很好,并且在 .text 部分的反汇编视图中,PE-bear 能够找到“调用”指令引用的函数的名称。 这是屏幕截图: 但可悲 ...

在不改变其行为的情况下,PE 的哪些领域可能会有所不同? - What fields of a PE may differ without altering its behavior?

我正在阅读PE 文件结构的文档,我想知道 PE 结构的哪些部分可能会有所不同而不改变其行为。 为了澄清,假设我有两个计算器程序的 PE,COFF 文件 Header 的 TimeDateStamp 可能在它们之间有所不同,但程序本身将是“等效的”。 我的问题是它们之间可能也不同的所有领域是什么? ...

为什么重定位表的所有元素都有一个额外的偏移量? - why do all elements of the relocation table have an additional offset?

问题是关于将可移植的可执行映像加载到随机地址。 我们以 kernel32.dll 为例,加载在 0x75A00000。 我可以看到,在图像的偏移量 0x10e15 处,有一条汇编指令,这取决于图像所在的位置。 地址:75A10E13 字节:8B 35 18 03 AE 75 命令:MOV ESI, ...

如何在 NASM 中编写“Hello_world”EFI 应用程序? - How to write 'Hello_world' EFI application in NASM?

我正在尝试在 NASM 中编写一个“Hello_world”EFI 应用程序,但似乎无法使其正常工作。 当我运行应用程序(在 VirtualBox 中)时,它不会打印任何内容。 它只是挂起。 这是我的代码: 假设文件保存为“hello.asm”,我使用nasm -f bin -o hello.ef ...

使用 Linux 中的 HSM 中的密钥对 Authenticode PE 文件进行代码签名 - Code-Sign an Authenticode PE file using keys in a HSM in Linux

我需要一种非 Windows(linux 或 FreeBSD)方式来签署 Authenticode PE 格式的启动可执行文件(EFI 二进制文件)。 目前在 *nix 平台上有一些工具,如pbsign 、 sbsign 、 uefisign 、 osslsigncode ,但常见的模式是它们都需要 ...

如何根据节对齐字段重新对齐 x64 可移植可执行文件的节 - How to realign sections of a x64 portable executable based on section alignment field

我一直在寻找一种简单的方法来手动将任何 x64 PE 对齐到 0x10000 部分对齐,我能找到的只是 pe 文件对齐或重新对齐。 作为测试用例,我使用了 notepad++ 的源代码,并使用 vs 2022 社区对其进行了编译。 第一次使用 0x1000 的部分对齐页面大小默认对齐,第二次使用 0 ...

解析 PIMAGE_IMPORT_DESCRIPTOR 时手动加载 PE 导入结果错误 - Manually loading PE imports results error when parsing PIMAGE_IMPORT_DESCRIPTOR

问候溢出者, 几乎完成了我的网络安全副学士学位。 尝试从字节码中的 dll 手动加载导入。 PIMAGE_DATA_DIRECTORY 的虚拟地址和大小显示正确的值。 解析 PIMAGE_IMPORT_DESCRIPTOR 后,无法正确解析这些值。 ...

C++ LinkTime/CompileTime 从 .Text 部分或其他参考点开始生成函数偏移量 - C++ LinkTime/CompileTime Generate Function Offset From Start Of .Text Section Or Other Reference Point

所以我需要一种方法来从它的 PE 文件 .text 区域/它所在的任何部分中获取函数的偏移量,或者在文件中引用另一个函数。 我想做类似的事情: void func_two() { /*...*/ } void call_our_function() { /*...*/ } vo ...

为什么我得到一个未定义的引用,尽管一切看起来都很好? (C++ 明格) - Why do I get an undefined reference although everything seems alright ? (C++ Mingw)

我的问题相当琐碎和简单,我正在尝试编写一个加壳程序,为此我需要解析 PE 文件,所以我正在尝试使用C++ pe-parse 库。 我按照说明构建了它,现在我正在尝试将它链接到我的简单main.cpp文件: 这是我的文件结构: MinGW 确实是 x64 ( x86_64-w64-mingw32 ...

可移植可执行格式中的 rva 和基地址是什么? - What is the rva and base address in the portable executable format?

我需要帮助来理解这些概念。 我知道 rva 是基地址的偏移量。 但它与文件中的内容有关吗? 我知道它是从内存中加载图像的位置,但是在可执行文件本身中,rva 与什么相关? 文件的开头,所以文件的ID在开始? 谢谢阅读 :) ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM