【Android 逆向】ELF 文件格式 ( ELF 文件类型 | ELF 文件对应 CPU 架构 | ELF 目标文件版本 | 可执行程序起始地址 )
文章目錄
- 一、ELF 文件類型 ( 動(dòng)態(tài)庫文件 )
- 二、ELF 文件對應(yīng) CPU 架構(gòu)
- 三、ELF 目標(biāo)文件版本
- 四、可執(zhí)行程序起始地址
一、ELF 文件類型 ( 動(dòng)態(tài)庫文件 )
ELF 文件頭 第 16 ~ 17 字節(jié) : ELF 文件類型 , 動(dòng)態(tài)庫文件 / 可執(zhí)行文件 / 靜態(tài)庫文件 / 鏈接文件 ; 03 00 表示該 ELF 文件是動(dòng)態(tài)庫文件 ;
03 00 小端格式 , 低位在低地址 , 值為 3 ;
二、ELF 文件對應(yīng) CPU 架構(gòu)
ELF 文件頭 第 18 ~ 19 字節(jié) : ELF 文件對應(yīng)的 CPU 架構(gòu)體系 , x86 / arm / mips ; 03 00 表示該 ELF 文件對應(yīng)的 CPU 架構(gòu)師 x86 架構(gòu) ;
03 00 小端格式 , 低位在低地址 , 值為 3 ;
三、ELF 目標(biāo)文件版本
ELF 文件頭 第 20 ~ 23 字節(jié) : 目標(biāo)文件版本 ; 默認(rèn)值 1 ;
01 00 00 00 小端格式 , 低位在低地址 , 值為 1 ;
四、可執(zhí)行程序起始地址
ELF 文件頭 第 24 ~ 27 字節(jié) : 如果 ELF 是可執(zhí)行文件 , 應(yīng)該從哪個(gè)地址開始執(zhí)行代碼 ; 該值在可執(zhí)行 ELF 文件中才有意義 , 動(dòng)態(tài)庫文件沒有意義 ;
00 00 00 00 小端格式 , 低位在低地址 , 值為 0 ;
當(dāng)前解析的 ELF 文件是動(dòng)態(tài)庫文件 , 該值沒有實(shí)際意義 , 設(shè)置 0 默認(rèn)值 ;
動(dòng)態(tài)庫并不能獨(dú)立執(zhí)行 , 需要由外部加載執(zhí)行 ;
總結(jié)
以上是生活随笔為你收集整理的【Android 逆向】ELF 文件格式 ( ELF 文件类型 | ELF 文件对应 CPU 架构 | ELF 目标文件版本 | 可执行程序起始地址 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】ELF 文件格式
- 下一篇: 【Android 逆向】ELF 文件格式