2017-01-09 106 views
1

我看我的ELF拆卸和一些行是這樣的:ELF Dissasembly - 「.init .text .plt」是什麼意思?

.text:000105e0 00 b0 a0 e3 mov fp, #0 
.text:000105e8 04 10 9d e4 pop {r1}; (ldr r1, [sp], #4) 

別人是這樣的:

.plt:00010568 00 c6 8f e2 add ip, pc, #0, 12 
.plt:0001056c 10 ca 8c e2 add ip, ip, #16, 20 ; 0x10000 

和其他人一樣:

.init:00010544 08 40 2d e9 push {r3, lr} 

什麼的。文本,.plt和.init部分拆卸線意味着什麼?

+2

他們是部分名稱,他們給出了一個線索,說明你要分解代碼的目的是什麼,包括它實際上應該是代碼而不是數據。 –

+0

謝謝,你會考慮讓你的評論一個答案? –

+3

他們是程序部分,請[見本](https://greek0.net/elf.html)。順便說一句,我有一些想法(從一般的彙編經驗)。我剛剛搜索了**精靈plt **,那裏是。 –

回答

4

.init,.text和.plt是鏈接器部分。

  1. 的.init包含啓動代碼
  2. 的.text包含程序代碼
  3. .PLT調用它的地址不能在鏈接時是已知的(但是會被解決的功能,當使用動態鏈接器在運行時)

還有很多其他可能的部分包含代碼,數據或常量。