我可能不会在正确的位置问这个问题,但是我可以在某处研究可执行二进制文件的结构是什么吗?如,代码的组织方式,符号的存储位置等。
答案 0 :(得分:9)
答案 1 :(得分:3)
二进制文件的结构由创建它的应用程序定义。例如,用Java或C编写并将其写入文件的代码只能由知道编写方式结构的代码读回。
对于可执行文件,根据操作系统的不同,有不同的类型。例如,要检查可执行文件和链接格式(ELF)文件的结构,请参阅man elf
:http://www.kernel.org/doc/man-pages/online/pages/man5/elf.5.html
答案 2 :(得分:0)
您需要了解ELF文件是什么!这是您的starting point。
此article巧妙地解释了如何使用readelf
和objdump