Advertisement
Guest User

Untitled

a guest
May 20th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.18 KB | None | 0 0
  1. eevee@rix  ~/code/c/elf-butcher/build  make elfbutchertest && ./elfbutchertest
  2. [ 71%] Built target elfbutcher
  3. [100%] Built target elfbutchertest
  4. ->1 <main@test/test.c>
  5. ->2 <shelf_open@src/shelf.c>
  6. [D]<src/shelf.c@shelf_open:119>: 392
  7. <-1 <shelf_open@src/shelf.c> (Elf_Desc: 0x16c82a0)
  8. Elf Header:
  9. Magic: 7f 45 4c 46
  10. ->2 <get_elf_class_str@src/shelf.c>
  11. <-1 <get_elf_class_str@src/shelf.c> ("ELF64")
  12. Class: ELF64
  13. ->2 <get_data_encoding_str@src/shelf.c>
  14. <-1 <get_data_encoding_str@src/shelf.c> ("2's compliment, little-endian")
  15. Data: 2's compliment, little-endian
  16. ->2 <get_elf_version_str@src/shelf.c>
  17. <-1 <get_elf_version_str@src/shelf.c> ("current (1")
  18. Version: current (1
  19. ->2 <get_osabi_str@src/shelf.c>
  20. <-1 <get_osabi_str@src/shelf.c> ("UNIX System V ABI")
  21. OS/ABI: UNIX System V ABI
  22. OS/ABI Version: 0
  23. ->2 <get_file_type_str@src/shelf.c>
  24. <-1 <get_file_type_str@src/shelf.c> ("DYN (Shared object file")
  25. Type: DYN (Shared object file
  26. ->2 <get_machine_str@src/shelf.c>
  27. <-1 <get_machine_str@src/shelf.c> ("AMD x86-64 architecture")
  28. Machine: AMD x86-64 architecture
  29. ->2 <get_elf_version_str@src/shelf.c>
  30. <-1 <get_elf_version_str@src/shelf.c> ("current (1")
  31. Version: current (1
  32. Entry: 0x1ad0
  33. Program Header Offset: 0x40 (64)
  34. Section Header Offset: 0x10740 (67392)
  35. Flags: 0x0 (0)
  36. Header Size: 0x40 (64)
  37. Size of program headers: 0x38 (56)
  38. Number of program headers: 7
  39. Size of section headers: 0x40 (64)
  40. Number of section headers: 29
  41. Section header string table index: 26
  42.  
  43.  
  44. Program Headers:
  45.  
  46. Type Offset VirtAddr PhysAddr
  47. FileSize MemSize Flags Align
  48. --------------------------------------------------------------------
  49. ->2 <get_phdr_flags_str@src/shelf.c>
  50. <-1 <get_phdr_flags_str@src/shelf.c> ("R-X")
  51. ->2 <get_phdr_type_str@src/shelf.c>
  52. <-1 <get_phdr_type_str@src/shelf.c> ("LOAD")
  53. LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
  54. 0x000000000000d424 0x000000000000d424 R-X 0x200000
  55. ->2 <get_phdr_flags_str@src/shelf.c>
  56. <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
  57. ->2 <get_phdr_type_str@src/shelf.c>
  58. <-1 <get_phdr_type_str@src/shelf.c> ("LOAD")
  59. LOAD 0x000000000000dda0 0x000000000020dda0 0x000000000020dda0
  60. 0x0000000000000378 0x0000000000001148 RW- 0x200000
  61. ->2 <get_phdr_flags_str@src/shelf.c>
  62. <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
  63. ->2 <get_phdr_type_str@src/shelf.c>
  64. <-1 <get_phdr_type_str@src/shelf.c> ("DYNAMIC")
  65. DYNAMIC 0x000000000000ddb8 0x000000000020ddb8 0x000000000020ddb8
  66. 0x00000000000001d0 0x00000000000001d0 RW- 0x8
  67. ->2 <get_phdr_flags_str@src/shelf.c>
  68. <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
  69. ->2 <get_phdr_type_str@src/shelf.c>
  70. <-1 <get_phdr_type_str@src/shelf.c> ("NOTE")
  71. NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
  72. 0x0000000000000024 0x0000000000000024 R-- 0x4
  73. ->2 <get_phdr_flags_str@src/shelf.c>
  74. <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
  75. ->2 <get_phdr_type_str@src/shelf.c>
  76. <-1 <get_phdr_type_str@src/shelf.c> ("EH_FRAME")
  77. EH_FRAME 0x000000000000bf48 0x000000000000bf48 0x000000000000bf48
  78. 0x0000000000000204 0x0000000000000204 R-- 0x4
  79. ->2 <get_phdr_flags_str@src/shelf.c>
  80. <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
  81. ->2 <get_phdr_type_str@src/shelf.c>
  82. <-1 <get_phdr_type_str@src/shelf.c> ("STACK")
  83. STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
  84. 0x0000000000000000 0x0000000000000000 RW- 0x10
  85. ->2 <get_phdr_flags_str@src/shelf.c>
  86. <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
  87. ->2 <get_phdr_type_str@src/shelf.c>
  88. <-1 <get_phdr_type_str@src/shelf.c> ("RELRO")
  89. RELRO 0x000000000000dda0 0x000000000020dda0 0x000000000020dda0
  90. 0x0000000000000260 0x0000000000000260 R-- 0x1
  91.  
  92.  
  93. Section Headers:
  94.  
  95. [Nr] Name Type Address Offset
  96. Size EntSize Flags Link Info Align
  97. --------------------------------------------------------------------------
  98. ->2 <get_shdr_flags_str@src/shelf.c>
  99. <-1 <get_shdr_flags_str@src/shelf.c> ("")
  100. ->2 <get_shdr_type_str@src/shelf.c>
  101. <-1 <get_shdr_type_str@src/shelf.c> ("NULL")
  102. [0 ] NULL 0x0000000000000000 0x00000000
  103. 0x0000000000000000 0x0000000000000000
  104. ->2 <get_shdr_flags_str@src/shelf.c>
  105. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  106. ->2 <get_shdr_type_str@src/shelf.c>
  107. <-1 <get_shdr_type_str@src/shelf.c> ("NOTE")
  108. [1 ] .note.gnu.build-id NOTE 0x00000000000001c8 0x000001c8
  109. 0x0000000000000024 0x0000000000000000 A
  110. ->2 <get_shdr_flags_str@src/shelf.c>
  111. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  112. ->2 <get_shdr_type_str@src/shelf.c>
  113. <-1 <get_shdr_type_str@src/shelf.c> ("GNU_HASH")
  114. [2 ] .gnu.hash GNU_HASH 0x00000000000001f0 0x000001f0
  115. 0x0000000000000274 0x0000000000000000 A
  116. ->2 <get_shdr_flags_str@src/shelf.c>
  117. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  118. ->2 <get_shdr_type_str@src/shelf.c>
  119. <-1 <get_shdr_type_str@src/shelf.c> ("DYNSYM")
  120. [3 ] .dynsym DYNSYM 0x0000000000000468 0x00000468
  121. 0x0000000000000930 0x0000000000000018 A
  122. ->2 <get_shdr_flags_str@src/shelf.c>
  123. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  124. ->2 <get_shdr_type_str@src/shelf.c>
  125. <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
  126. [4 ] .dynstr STRTAB 0x0000000000000d98 0x00000d98
  127. 0x0000000000000566 0x0000000000000000 A
  128. ->2 <get_shdr_flags_str@src/shelf.c>
  129. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  130. ->2 <get_shdr_type_str@src/shelf.c>
  131. <-1 <get_shdr_type_str@src/shelf.c> ("GNU_versym")
  132. [5 ] .gnu.version GNU_versym 0x00000000000012fe 0x000012fe
  133. 0x00000000000000c4 0x0000000000000002 A
  134. ->2 <get_shdr_flags_str@src/shelf.c>
  135. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  136. ->2 <get_shdr_type_str@src/shelf.c>
  137. <-1 <get_shdr_type_str@src/shelf.c> ("GNU_verneed")
  138. [6 ] .gnu.version_r GNU_verneed 0x00000000000013c8 0x000013c8
  139. 0x0000000000000040 0x0000000000000000 A
  140. ->2 <get_shdr_flags_str@src/shelf.c>
  141. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  142. ->2 <get_shdr_type_str@src/shelf.c>
  143. <-1 <get_shdr_type_str@src/shelf.c> ("RELA")
  144. [7 ] .rela.dyn RELA 0x0000000000001408 0x00001408
  145. 0x00000000000001b0 0x0000000000000018 A
  146. ->2 <get_shdr_flags_str@src/shelf.c>
  147. <-1 <get_shdr_flags_str@src/shelf.c> ("AI")
  148. ->2 <get_shdr_type_str@src/shelf.c>
  149. <-1 <get_shdr_type_str@src/shelf.c> ("RELA")
  150. [8 ] .rela.plt RELA 0x00000000000015b8 0x000015b8
  151. 0x00000000000002e8 0x0000000000000018 AI
  152. ->2 <get_shdr_flags_str@src/shelf.c>
  153. <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
  154. ->2 <get_shdr_type_str@src/shelf.c>
  155. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  156. [9 ] .init PROGBITS 0x00000000000018a0 0x000018a0
  157. 0x0000000000000017 0x0000000000000000 AX
  158. ->2 <get_shdr_flags_str@src/shelf.c>
  159. <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
  160. ->2 <get_shdr_type_str@src/shelf.c>
  161. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  162. [10] .plt PROGBITS 0x00000000000018c0 0x000018c0
  163. 0x0000000000000200 0x0000000000000010 AX
  164. ->2 <get_shdr_flags_str@src/shelf.c>
  165. <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
  166. ->2 <get_shdr_type_str@src/shelf.c>
  167. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  168. [11] .plt.got PROGBITS 0x0000000000001ac0 0x00001ac0
  169. 0x0000000000000008 0x0000000000000000 AX
  170. ->2 <get_shdr_flags_str@src/shelf.c>
  171. <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
  172. ->2 <get_shdr_type_str@src/shelf.c>
  173. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  174. [12] .text PROGBITS 0x0000000000001ad0 0x00001ad0
  175. 0x0000000000008fca 0x0000000000000000 AX
  176. ->2 <get_shdr_flags_str@src/shelf.c>
  177. <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
  178. ->2 <get_shdr_type_str@src/shelf.c>
  179. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  180. [13] .fini PROGBITS 0x000000000000aa9c 0x0000aa9c
  181. 0x0000000000000009 0x0000000000000000 AX
  182. ->2 <get_shdr_flags_str@src/shelf.c>
  183. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  184. ->2 <get_shdr_type_str@src/shelf.c>
  185. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  186. [14] .rodata PROGBITS 0x000000000000aab0 0x0000aab0
  187. 0x0000000000001498 0x0000000000000000 A
  188. ->2 <get_shdr_flags_str@src/shelf.c>
  189. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  190. ->2 <get_shdr_type_str@src/shelf.c>
  191. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  192. [15] .eh_frame_hdr PROGBITS 0x000000000000bf48 0x0000bf48
  193. 0x0000000000000204 0x0000000000000000 A
  194. ->2 <get_shdr_flags_str@src/shelf.c>
  195. <-1 <get_shdr_flags_str@src/shelf.c> ("A")
  196. ->2 <get_shdr_type_str@src/shelf.c>
  197. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  198. [16] .eh_frame PROGBITS 0x000000000000c150 0x0000c150
  199. 0x00000000000012d4 0x0000000000000000 A
  200. ->2 <get_shdr_flags_str@src/shelf.c>
  201. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  202. ->2 <get_shdr_type_str@src/shelf.c>
  203. <-1 <get_shdr_type_str@src/shelf.c> ("INIT_ARRAY")
  204. [17] .init_array INIT_ARRAY 0x000000000020dda0 0x0000dda0
  205. 0x0000000000000008 0x0000000000000000 WA
  206. ->2 <get_shdr_flags_str@src/shelf.c>
  207. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  208. ->2 <get_shdr_type_str@src/shelf.c>
  209. <-1 <get_shdr_type_str@src/shelf.c> ("FINI_ARRAY")
  210. [18] .fini_array FINI_ARRAY 0x000000000020dda8 0x0000dda8
  211. 0x0000000000000008 0x0000000000000000 WA
  212. ->2 <get_shdr_flags_str@src/shelf.c>
  213. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  214. ->2 <get_shdr_type_str@src/shelf.c>
  215. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  216. [19] .jcr PROGBITS 0x000000000020ddb0 0x0000ddb0
  217. 0x0000000000000008 0x0000000000000000 WA
  218. ->2 <get_shdr_flags_str@src/shelf.c>
  219. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  220. ->2 <get_shdr_type_str@src/shelf.c>
  221. <-1 <get_shdr_type_str@src/shelf.c> ("DYNAMIC")
  222. [20] .dynamic DYNAMIC 0x000000000020ddb8 0x0000ddb8
  223. 0x00000000000001d0 0x0000000000000010 WA
  224. ->2 <get_shdr_flags_str@src/shelf.c>
  225. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  226. ->2 <get_shdr_type_str@src/shelf.c>
  227. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  228. [21] .got PROGBITS 0x000000000020df88 0x0000df88
  229. 0x0000000000000078 0x0000000000000008 WA
  230. ->2 <get_shdr_flags_str@src/shelf.c>
  231. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  232. ->2 <get_shdr_type_str@src/shelf.c>
  233. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  234. [22] .got.plt PROGBITS 0x000000000020e000 0x0000e000
  235. 0x0000000000000110 0x0000000000000008 WA
  236. ->2 <get_shdr_flags_str@src/shelf.c>
  237. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  238. ->2 <get_shdr_type_str@src/shelf.c>
  239. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  240. [23] .data PROGBITS 0x000000000020e110 0x0000e110
  241. 0x0000000000000008 0x0000000000000000 WA
  242. ->2 <get_shdr_flags_str@src/shelf.c>
  243. <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
  244. ->2 <get_shdr_type_str@src/shelf.c>
  245. <-1 <get_shdr_type_str@src/shelf.c> ("NOBITS")
  246. [24] .bss NOBITS 0x000000000020e120 0x0000e118
  247. 0x0000000000000dc8 0x0000000000000000 WA
  248. ->2 <get_shdr_flags_str@src/shelf.c>
  249. <-1 <get_shdr_flags_str@src/shelf.c> ("MS")
  250. ->2 <get_shdr_type_str@src/shelf.c>
  251. <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
  252. [25] .comment PROGBITS 0x0000000000000000 0x0000e118
  253. 0x0000000000000034 0x0000000000000001 MS
  254. ->2 <get_shdr_flags_str@src/shelf.c>
  255. <-1 <get_shdr_flags_str@src/shelf.c> ("")
  256. ->2 <get_shdr_type_str@src/shelf.c>
  257. <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
  258. [26] .shstrtab STRTAB 0x0000000000000000 0x00010649
  259. 0x00000000000000f6 0x0000000000000000
  260. ->2 <get_shdr_flags_str@src/shelf.c>
  261. <-1 <get_shdr_flags_str@src/shelf.c> ("")
  262. ->2 <get_shdr_type_str@src/shelf.c>
  263. <-1 <get_shdr_type_str@src/shelf.c> ("SYMTAB")
  264. [27] .symtab SYMTAB 0x0000000000000000 0x0000e150
  265. 0x0000000000001668 0x0000000000000018
  266. ->2 <get_shdr_flags_str@src/shelf.c>
  267. <-1 <get_shdr_flags_str@src/shelf.c> ("")
  268. ->2 <get_shdr_type_str@src/shelf.c>
  269. <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
  270. [28] .strtab STRTAB 0x0000000000000000 0x0000f7b8
  271. 0x0000000000000e91 0x0000000000000000
  272. ->2 <elf_get_shstrndx@src/shelf.c>
  273. <-1 <elf_get_shstrndx@src/shelf.c> (26)
  274. shstrndx: 26
  275. ->2 <shelf_close@src/shelf.c>
  276. <-1 <shelf_close@src/shelf.c>
  277. [D]<test/test.c@main:39>: This is a debug statement! 42
  278. <-0 <main@test/test.c> (0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement