5——Linux二进制分析——学习——关于elf文件类型/-no-pie选项

《4——Linux二进制分析——学习——ptrace调试器》的补充。关于编译test的问题。

我直接通过gcc test.c -o test编译,在执行的时候会报错./testshare is not an ELF executable. The type: 3.我用readelf -h test去查看头文件的时候发现test的文件格式是 DYN (Shared object file),而我想要的应该是 EXEC (Executable file)​​​​​​格式。百度后在一篇博客中发现了问题所在。是一个gcc叫做pie的功能导致,是为了系统安全。我们的交叉编译连自动关闭了pie,所以以前没有发现这种情况。使用gcc test.c -o test -no-pie编译即可

那篇博客是https://blog.csdn.net/cclethe/article/details/83387685,谢谢兄弟的指点。里面有详细的说明,受益良多。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Linux二进制分析》是一本介绍分析Linux二进制文件的PDF文档。本书的目的是帮助读者了解Linux系统二进制文件的结构和内容,以及如何进行分析和调试。这本书按照逻辑顺序分为多个章节,每个章节探讨了不同的主题。 第一章介绍了二进制文件的基础知识,包括二进制文件的类型、结构和常见的文件格式。通过学习这些基础知识,读者可以对Linux二进制文件有一个整体的了解。 第二章讨论了在Linux系统进行二进制文件分析的工具和技术。这部分内容涵盖了命令行工具、调试器和反汇编器的使用方法,以及一些常见的二进制文件分析技术。 第三章以一个实际的案例为例,介绍了如何通过分析二进制文件来理解程序的功能和行为。这个案例涉及了静态分析和动态分析的技术,读者可以通过跟随案例学习如何应用这些技术。 第四章包含了一些高级的二进制文件分析技术,如符号动态执行、模糊测试和漏洞挖掘等。这些技术需要一定的专业知识和经验,但对于希望深入了解Linux二进制文件分析的读者来说,是非常有用的。 总的来说,这本《Linux二进制分析》PDF为读者提供了系统而全面的关于Linux二进制文件分析的知识。无论是初学者还是有经验的分析师,都可以从获得有价值的信息和技巧。 ### 回答2: 《Linux二进制分析PDF》是一本介绍Linux二进制分析的电子书籍。通过对该书的阅读和学习,可以了解Linux操作系统二进制文件的结构、特性和功能。 首先,该书会详细介绍Linux二进制文件的基本概念和核心组成部分。包括ELF(Executable and Linkable Format)格式的介绍,这是Linux系统常见的二进制文件格式。通过了解ELF格式,可以深入理解可执行文件、共享库和目标文件的结构和功能。 其次,该书会介绍ELF文件的各个节(section)和段(segment)。节是ELF文件存储数据和代码的逻辑块,而段是指逻辑上相关的节的集合。了解节和段的细节对于进行二进制分析非常重要,可以帮助我们理解程序的内部结构和运行机制。 此外,该书还会介绍动态链接(Dynamic Linking)和装载器(Loader)。动态链接是Linux的一种链接方式,通过将共享库与可执行文件动态地链接在一起,提高了代码的复用性和运行效率。装载器是Linux系统负责将可执行文件加载到内存并执行的组件。了解动态链接和装载器的工作原理,可以帮助我们理解程序运行的整个过程。 最后,该书还会介绍一些常见的二进制分析工具和技术。例如,调试器(Debugger)可以帮助我们追踪程序的执行过程和查找bug。反汇编器(Disassembler)可以将二进制文件转换为可读的汇编代码。逆向工程技术可以帮助我们分析和修改二进制文件的代码。 总之,《Linux二进制分析PDF》是一本系统介绍Linux二进制分析的书籍,通过阅读和学习这本书,我们可以了解Linux二进制文件的结构、特性和功能,以及进行二进制分析的常见工具和技术。这对于提高我们对Linux操作系统的理解和应用开发能力非常有帮助。 ### 回答3: "Linux二进制分析PDF" 是指一本关于Linux操作系统二进制分析的书籍或电子文档。 Linux二进制分析是指对Linux操作系统二进制文件进行深入研究和分析的过程。这些二进制文件包括可执行文件、库文件、驱动程序和内核等。通过对这些文件逐个解析和分析,我们可以更好地理解它们的结构和功能,并且能够更好地进行调试、优化和开发工作。 "Linux二进制分析PDF" 这本书提供了关于如何进行Linux二进制分析的详细指导和实践经验。它可能包括以下方面的内容: 1. 二进制文件的格式:介绍二进制文件的基本结构和格式,如ELF(Executable and Linkable Format)等。讲解二进制文件的各个段(section)和节(segment),以及文件头(header)和节头(section header)等信息。 2. 动态链接与装载:详细解释Linux的动态链接和动态装载机制,如何解析和加载共享库,并将它们链接到可执行文件。 3. 符号表与调试信息:讲解二进制文件的符号表和调试信息,包括函数和变量的符号名、地址和类型等。以及如何利用这些信息进行调试和反汇编工作。 4. 反汇编和反编译:介绍如何将二进制文件转换成汇编代码,并进行反编译,还可以讲解一些常用的反汇编和反编译工具和技术。 5. 内核分析:讲解如何对Linux内核进行二进制分析和调试,包括内核模块、系统调用和驱动程序等。 通过学习和掌握这本书的内容,读者可以更深入地了解Linux系统的底层实现和机制,并且可以开展更高级、更复杂的开发和调试工作。当然,理解和运用这些知识需要具备一定的编程和计算机系统知识基础。希望这本"Linux二进制分析PDF"对想要深入学习Linux系统内部工作原理的读者有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值