elf 格式簡析
elf file type is exec (executable file)
entry point 0x308000
there are 4 program headers, starting at offset 52
program headers:
type offset virtaddr physaddr filesiz memsiz *** align
load 0x001000 0x02800000 0x02800000 0x01000 0x01000 r 0
load 0x002000 0x00308000 0x00308000 0x1d47a0 0x3a9680 rwe 0x1000
load 0x1d7000 0x03008000 0x03008000 0x1e7350 0x220500 rwe 0x20
load 0x3bf000 0x0b808000 0x0b808000 0x1e7350 0x220500 rwe 0x20
segment sections...
00 rom
01 data
02 data
03 data
offset --> 相對elf header頭部最開開始的實體地址偏移
virtaddr --> 載入到記憶體時候的虛擬位址
physaddr --> 無意義
filesiz --> elf中program尺寸
memsiz --> program 載入到meme尺寸,含bss
there are 16 section headers, starting at offset 0x866b58:
section headers:
[nr] name type address offset
size entsize flags link info align
[ 0] null 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .text progbits 0000000000308000 00001000
00000000001c29b0 0000000000000000 wax 0 0 4096
[ 2] .cpu_private progbits 00000000ff800000 001d57a0
0000000000002b68 0000000000000000 w 0 0 32
[ 3] .data progbits 00000000004cb000 001c4000
00000000000117a0 0000000000000000 wa 0 0 4096
[ 4] .bss nobits 00000000004dd000 001d57a0
00000000001d4680 0000000000000000 wa 0 0 4096
[ 5] .debug_aranges progbits 0000000000000000 001d8310
00000000000053a0 0000000000000000 0 0 16
[ 6] .debug_pubnames progbits 0000000000000000 001dd6b0
0000000000012bfd 0000000000000000 0 0 1
[ 7] .debug_info progbits 0000000000000000 001f02ad
000000000048732f 0000000000000000 0 0 1
[ 8] .debug_abbrev progbits 0000000000000000 006775dc
00000000000464d2 0000000000000000 0 0 1
[ 9] .debug_line progbits 0000000000000000 006bdaae
000000000005bf05 0000000000000000 0 0 1
[10] .debug_str progbits 0000000000000000 007199b3
00000000000236ab 0000000000000001 ms 0 0 1
[11] .debug_loc progbits 0000000000000000 0073d05e
000000000010c6b2 0000000000000000 0 0 1
[12] .debug_ranges progbits 0000000000000000 00849710
000000000001d3a0 0000000000000000 0 0 1
[13] .shstrtab strtab 0000000000000000 00866ab0
00000000000000a2 0000000000000000 0 0 1
[14] .symtab symtab 0000000000000000 00866f58
000000000001de68 0000000000000018 15 2451 8
[15] .strtab strtab 0000000000000000 00884dc0
00000000000124d6 0000000000000000 0 0 1
key to flags:
w (write), a (alloc), x (execute), m (merge), s (strings), l (large)
i (info), l (link order), g (group), t (tls), e (exclude), x (unknown)
o (extra os processing required) o (os specific), p (processor specific)
address --> 虛擬位址
offset --> 相對elf header頭部最開開始的實體地址偏移
entsize --> 符號表等section中的表項數目
= elf header +
program header +
program data ( = section data + section data + ...) +
section header
AAC音訊格式簡析
1.adts是個啥 adts全稱是 audio data transport stream 是aac的一種十分常見的傳輸格式。adts aac adts header aac es adts header aac es adts header aac es adts 頭中相對有用的資訊取樣率 聲道數...
簡析ip資料報格式
版本 通訊雙方使用的版本必須一致。目前廣泛使用的是ipv4。首部長度 請注意,這個欄位所表示的數的單位是4個位元組,因此,當ip的首部長度是1111時,首部長 度就達到最大值60個位元組。當ip分組的首部長度不是4位元組的整數倍時,必須加以填充。區分服務 舊標準中叫服務型別 一般情況下不使用。總長度...
elf檔案格式 ELF 格式詳解(一)
elf 全稱 executable and linkable format 即可執行可鏈結檔案格式,目前常見的linux android可執行檔案 共享庫 so 目標檔案 o 以及core 檔案 吐核 均為此格式。檔案布局 常見的elf檔案大致結構如下 靜態鏈結器 即編譯後參與生成最終elf過程的鏈...