逆向linux程序,Linux CTF 逆向入门

原创:合天网安实验室

1.ELF格式

我们先来看看 ELF 文件头,如果想详细了解,可以查看ELF的man page文档。

b25b00927bfa6ed76147004479adae71.png关于ELF更详细的说明:e_shoff:节头表的文件偏移量(字节)。如果文件没有节头表,则此成员值为零。sh_offset:表示了该section(节)离开文件头部位置的距离

4814c44450ada5a0edce5c1ee6e2c7d0.png

2.可执行头部(Executable Header)

ELF文件的第一部分是可执行文件头部(Executable Header),其中包含有关ELF文件类型的信息。ELF文件在各种平台下都通用,ELF文件有32位版本和64位版本,其文件头内容是一样的,只不过有些成员的大小不一样。它的文件图也有两种版本:分别叫“Elf32_Ehdr”和“Elf64_Ehdr”。这里以32位版本为例:

7b9483e86d7529bdb1d00a1332f33c8b.png使用readelf对ELF文件格式进行分析

8b613873eaf832d83e728c5f1a3b0f06.png

我们可以使用以下计算方法来计算整个二进制文件的大小:

size = e_shoff + (e_shnum * e_shentsize)size = Start of section headers + (Number of section headers * Size of section headers)size = 137000 + (29*64) = 138856计算结果验证:

c6ed1043425422f210f8b350fb040363.png

3、程序头部(Program Headers)

程序头部是描述文件中的各种segments(段),用来告诉系统如何创建进程映像的。

621fd7f41ed8ed4e35c8c853cdf57b9f.png

4、节表头部(Section Headers)

节表头部(Section Headers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值