2012-02-26 116 views
3

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

+7

什么样的二进制文件的解剖ELF文件吗?你的意思是一个*可执行文件吗?哪个平台? – 2012-02-26 18:25:05

+1

我想你需要指定更多的什么样的二进制文件,你正在寻找。我猜可执行文件,但是什么格式? ELF?矮人? A.OUT? – 2012-02-26 18:25:41

+0

是的,我在说可执行文件。实际上我不知道不同的格式是什么,但是我通过其中一个答案来判断,我主要是在寻找ELF和Mach-O。 – Jumhyn 2012-02-26 18:34:06

回答

7

取决于您感兴趣的平台!

Windows使用PE binary format。使用ELF

Mac OS(和iOS)使用Mach-O

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

+0

这是完美的。谢谢! – Jumhyn 2012-02-26 18:27:04

3

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

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

0

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

article整齐地解释了如何使用readelfobjdump