主要参考手册:《程序员的自我修养》
相关工具:
readelf
objdump
nm
objcopy
ldd
参考资料:
http://codeprac.iteye.com/blog/1236387
只是只讲解了文件格式部分,对地址的重定位讲解不多。
它的参考资料也很全:
System V application binary interface
ELF Format
(mirror
txt format
)
Hello,world in less than 20 bytes
Tutorial on creating teensy ELF file on linux
(中文翻译版本
,also see
(smallest elf32 hello,world
))
Introduction to reverse engineering on linux
(also see crackz reverse engineering
page(windows),resources
)
Deconstructing an ELF file
The ELF virus writing howto
Playing with binary format
ELF hackery
(many links)
ELF or assembly reference
(on skyeye)
linkers and loaders
linkers(part 1
,part 2
, part 3
, part 4
, part 5
, part 6
, part 7
, part 8
,part 9
,part 10
part 11
,part 12
, part 13
, part 14
, part 15
, part 16
, part 17
, part 18
, part 19
, part 20
)
hacker's wisdom
还可用百度搜索"ELF site:ibm.com",能搜索到很多关于ELF中文翻译教程,其中文后的参考文献也很值得看。
pe(window下的库文件和可执行文件格式)相关链接可以在wikipedia上找到
。
http://blog.csdn.net/shallwake/article/details/5390380
分享到:
相关推荐
作者希望能够通过分享自己的学习笔记,帮助其他初学者少走弯路。 综上所述,本文档为嵌入式开发的初学者提供了一份详细的学习指南,不仅覆盖了嵌入式开发的基础知识,还包括了实际操作中可能遇到的问题和解决方案,...
本文对linux环境下的面向开发者的基础知识进行了较为系统的介绍,对从windows转向linux的读者,很有帮助。
1. C语言基础知识:在《C学习笔记PDF》中,涵盖了C语言的基本概念和语法。文件提到的是C99标准,这是C语言的一个标准版本,它引入了许多改进和新特性。 2. 数据类型:文件详细介绍了C语言中的数据类型,包括基本的...
小猫爪的学习笔记系列主要针对的是NXP i.MX RT1050这款微处理器,这是一款跨界处理器,集成了高性能的Cortex-M7内核,适用于实时应用和嵌入式系统开发。在"小猫爪:i.MX RT1050学习笔记18-安全启动2-elftosb和Mfg...
### Zynq FSBL学习笔记 #### 一、Zynq FSBL简介 FSBL(First Stage Boot Loader),即第一阶段引导加载程序,是Xilinx Zynq SoC(System on Chip)启动过程中非常关键的一个环节。FSBL的主要职责是在系统上电后,...
### GCC的连接脚本学习笔记知识点详解 #### 1. 输入段与输出段的概念解析 在探讨GCC连接脚本之前,首先要明确输入段(input section)和输出段(output section)的概念。 - **输入段**:指的是链接过程中提供的所有...
### 嵌入式Linux学习笔记 #### 一、嵌入式Linux基础知识和开发环境的构建 ##### 1. 嵌入式Linux开发环境构建概述 嵌入式Linux是一种适用于嵌入式系统的Linux发行版,它具有体积小、功能全、稳定性强等特点。对于...
【ZYNQ7010学习笔记】 ZYNQ7010是一款基于ARM处理器的系统级芯片(SoC),由Xilinx公司生产,属于全可编程芯片系列。这款芯片结合了可编程逻辑(PL)和处理系统(PS),使得硬件和软件的协同设计成为可能。在PL部分...
【基于C语言的学习笔记(附代码)】 C语言是一种强大的、高效的编程语言,广泛应用于操作系统、嵌入式系统以及各种软件开发。这份学习笔记涵盖了C语言的基础、高级、系统和工具四个部分,旨在帮助读者全面理解和...
### ARM学习笔记知识点详解 #### 一、ARM学习概述 **ARM** (Advanced RISC Machines) 是一种基于精简指令集计算机 (RISC) 的架构,广泛应用于移动设备、嵌入式系统等领域。ARM架构因其低功耗特性、高性能及广泛的...
【C语言学习笔记1】 C语言是一门基础且强大的编程语言,被广泛应用于系统编程、嵌入式开发、软件工程等多个领域。本笔记主要涵盖了C99标准中的关键概念,旨在帮助初学者深入理解C语言的基本语法和高级特性。 ### ...
C语言学习笔记中所涉及的知识点非常丰富,涵盖了C语言的基础知识、高级特性、系统级编程以及常用开发工具等。 一、基础部分知识点 1. 数据类型:C语言的基本数据类型包括整型(如char、short、int、long、longlong...
### C99学习笔记 #### 前言 C99标准是在1999年由国际标准化组织(ISO)发布的一个C语言标准版本,它在C90的基础上进行了大量的改进和扩展,引入了许多新特性,旨在更好地支持现代计算需求。 #### 第一部分:语言 ...
标题中提到了“嵌入式开发学习笔记”,这意味着笔记内容涉及了嵌入式系统的开发过程,主要使用了Java和C/C++语言。这种学习笔记对于初学者来说是非常有价值的,因为它能够帮助他们理解如何从零基础开始学习嵌入式...
标题“C99 学习笔记”直接指向了文档的主题,即对C语言的深度学习和研究,特别聚焦于C99标准。C99标准是C语言的一个版本,由ISO/IEC制定,并在1999年发布,它带来了对C语言的重大更新和改进。为了充分利用C语言的...
`Makefile`是构建规则,它使用`arm-linux-gcc`编译器将`demo.S`编译为对象文件,然后使用`arm-linux-ld`链接器生成ELF可执行文件,并最终使用`arm-linux-objcopy`将ELF转换为二进制文件。 当我们查看反汇编代码时,...