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

0g0grzrc  于 2023-05-18  发布在  其他
关注(0)|答案(4)|浏览(170)

我可能没有在正确的地方问这个问题,但是有没有地方我可以研究一下可执行二进制文件的结构是什么?比如,代码是如何组织的,符号存储在哪里,等等。

oyxsuwqo

oyxsuwqo1#

这取决于你对哪个平台感兴趣!
Windows使用PE binary format
Linux使用ELF
Mac OS(和iOS)使用Mach-O
一些较旧的UNIX系统使用a.out

juud5qan

juud5qan2#

二进制文件的结构由创建它的应用程序定义。例如,你用Java或C编写的代码,并将其写入文件,只能由知道其结构的代码读回。
在可执行文件的情况下,有不同的种类,这取决于操作系统。例如,要检查可执行文件和链接格式(ELF)文件的结构,请参见man elfhttp://www.kernel.org/doc/man-pages/online/pages/man5/elf.5.html

yiytaume

yiytaume3#

您需要了解什么是ELF文件!这是你的starting point
这个article巧妙地解释了如何使用readelfobjdump剖析ELF文件

nc1teljy

nc1teljy4#

这个article对可执行二进制文件做了一个非常容易理解的概述。

相关问题