首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
ELF
二手的程序员
创建于2023-12-29
订阅专栏
ELF解析01 - ELF头和程序头 ELF解析02 - linker ELF解析03 - 加载段 ELF04 ELF解析05 - hash表
暂无订阅
共6篇文章
创建于2023-12-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ELF解析05 - hash表
这个表叫 hash 表,它的作用是用于快速索引符号在符号表中的位置。 先看一张图: 查找一个符号的位置步骤如下: 首先,计算出符号字符串的 hash 值 然后,根据 hash 值获取 bucket
ELF解析06 - 入口参数与傀儡进程
04 里面的重定位表没讲完,这里继续,我们说过重定位的类型有很多,04 里面基本只介绍了一种,就是 plt 表。重定位不仅仅发生在代码里面,还会发生在数据里面,比如so程序里面对一些全局变量的引用,它
ELF解析04 - 字符串表/导入库表/符号表/导入表
本文主要讨论 Dynamic Segment 里面的几个子表。 总体结构介绍 我们先总体看下 Dynamic Segment : 这里我们只需要关心图中两个画圆圈的地方。 第一个是虚拟地址 由于 Dy
ELF解析03 - 加载段
本文主要讨论 mmap 函数以及如何使用 mmap 函数来加载一个 ELF 的可加载段。 01纠错 Android 8 及以后是会读取 section header 的,但不是所有的 section
ELF解析02 - linker
01里面,我们看到了修改后的 ls 程序在 maps 里面的布局: 在 01 里面,我们说到,r—p 这个段是一个 padding 段,但是实际上不是的。 我们一行行介绍,从第一行看起: 这个显然是对
ELF解析01 - ELF头和程序头
工具 010 Editor 去官网下载正版,会有30天的试用期,windows不好处理,其他平台删个配置文件就可以无限续期了。 镜像 使用 boot 过的手机或者 arm64 模拟器。 脚本 由于将会