问题标签 [portable-executable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exe - About ImageBase of .EXE in windows
I just learned ImageBase
is specified in PE format,and OS will load it to the exact position for .EXE
, then comes the question:
what if two .EXE
is requiring the same ImageBase
location?
portable-executable - 关于PE格式的代码部分
- 入口点总是属于代码部分是真的吗?
- 代码段是连续的还是分成几个块?
reverse-engineering - 是否有在 Windows 中创建二进制 PE 文件的编辑工具?
这个答案提供了一种在linux中创建二进制文件的方法,windows有这样方便的工具吗?
reverse-engineering - Windows 中的 objdump 和 Dumpbin 有什么区别?
看来他们俩都可以转储二进制文件的内容,
那么有什么区别呢?
windows - 关于PE在Windows中的入口点
它总是在代码段的最低地址吗?
portable-executable - 如何理解此图中的 PE 标头?
IMO,这应该成立:
图中不是这种情况,为什么?
portable-executable - 理解 PE 中的数字
从上面的图中我知道有9
部分,但为什么在第一张图中显示0900
?
如何读取PE格式的数字?
alignment - 什么是“对齐”,以及如何从一种对齐方式转换为另一种对齐方式?
以下是将节对齐转换为文件对齐的步骤:
- 查找数据的 RVA
- 从 RVA 中得出所引用数据所属的部分。这是微不足道的,因为部分不重叠。各个部分的起始地址在文件头中可用
- 找到 RVA 和节的起始地址之间的差异,以找到数据偏移量,即该数据在节内的偏移量。
- 从文件头中,对于同一节,找到同一节在文件中的位置。
- 将数据偏移量添加到文件中节的位置,以找到文件中数据的地址。
但我就是不明白,有人可以详细说明一下吗?
dos - MS DOS 使用的二进制文件格式是什么?
直到最近发现这个问题时,我一直认为 MS DOS 也在使用PE作为二进制可执行文件:
PE 映像文件以 MS DOS 存根开头。使用它是为了当程序在 MS DOS 中运行时,它会给出一个很好的错误消息(程序必须在 Windows 中运行)而不是使 MS DOS 崩溃。
所以这意味着PE不适用于MS DOS,那它是什么?
debug-symbols - 关于 Windows 中带有调试信息的可执行文件
指针到符号表:
COFF 符号表的文件偏移量,如果不存在 COFF 符号表,则为零。PE 映像文件为 0,因为调试信息已被贬低。
为什么它说 PE 映像的调试信息已贬值?AFIAK,windows中的可执行文件也可以携带调试信息,不是这样吗?