可执行二进制文件的结构?

时间:2012-02-26 18:23:10

标签: assembly binary executable binaryfiles

我可能不会在正确的位置问这个问题,但是我可以在某处研究可执行二进制文件的结构是什么吗?如,代码的组织方式,符号的存储位置等。

3 个答案:

答案 0 :(得分:9)

取决于您感兴趣的平台!

Windows使用PE binary format

Linux使用ELF

Mac OS(和iOS)使用Mach-O

一些较旧的UNIX系统使用a.out

答案 1 :(得分:3)

二进制文件的结构由创建它的应用程序定义。例如,用Java或C编写并将其写入文件的代码只能由知道编写方式结构的代码读回。

对于可执行文件,根据操作系统的不同,有不同的类型。例如,要检查可执行文件和链接格式(ELF)文件的结构,请参阅man elfhttp://www.kernel.org/doc/man-pages/online/pages/man5/elf.5.html

答案 2 :(得分:0)

您需要了解ELF文件是什么!这是您的starting point

article巧妙地解释了如何使用readelfobjdump

剖析ELF文件