【Android 逆向】ELF 文件格式 ( ELF 文件简介 | ELF 文件结构 )
生活随笔
收集整理的這篇文章主要介紹了
【Android 逆向】ELF 文件格式 ( ELF 文件简介 | ELF 文件结构 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、ELF 文件簡介
- 二、ELF 文件結構
一、ELF 文件簡介
ELF 文件是 Executable and Linkable Format ( 可執行 和 可鏈接 格式 ) 的文件 ;
鏈接 一般是在編譯階段 , 執行 一般是在運行階段 ; 在這兩個階段都會用到 ELF 格式的文件 ;
參考 【C 語言】編譯過程 分析 ( 預處理 | 編譯 | 匯編 | 鏈接 | 宏定義 | 條件編譯 | 編譯器指示字 ) 博客 ;
ELF 文件 對應的 Linux 中的目標文件格式有 : 庫文件 , 可執行文件 , 編譯中間文件 ; 編譯中間文件有 .a , .o , .s 文件 ;
庫文件 , 可執行文件 , 編譯中間文件 , 都是 ELF 格式的文件 ;
在 Android 應用運行時 , ELF 文件的大部分內容 , 會被 映射到內存中 ; 這就意味著 Android 應用內存中的很多數據 , 會遵循 ELF 文件格式的規范 ;
ELF 文件格式最常見的形式就是 .so 動態庫 ;
ELF 文件的特點 : ELF 文件是以 7F 45 4C 46 開頭 , 其中 7F 是一個二進制標志 , 45 4C 46 是 ELF 字符對應的 ASCII 碼 ;
二、ELF 文件結構
ELF 文件由以下四部分組成 :
- ELF 文件頭
- ELF 程序頭 : ELF 程序頭 會告知 節區頭部表的位置 ;
- 節區或段
- 節區頭部表 : 節區頭部表 會告知 ELF 文件中有多少個 節區 , 一般 節區頭部表 一般都在 ELF 文件尾部 ;
總結
以上是生活随笔為你收集整理的【Android 逆向】ELF 文件格式 ( ELF 文件简介 | ELF 文件结构 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】使用 DB Br
- 下一篇: 【Android 逆向】ELF 文件格式