簡體   English   中英

如何獲得與objdump輸出的標簽相對應的ELF二進制文件中的文件偏移量?

[英]How do I get the file offset in an ELF binary corresponding to a label outputted by objdump?

假設我有一個ELF二進制prog並假設objdump -d prog沿以下代碼行生成輸出[snippet]:

0000000000400601 <.cstart_c941>:
  400601:   eb 01                   jmp    400604 <.end_c941>

0000000000400603 <.cslot_c941>:
  400603:   84                      .byte 0x84

0000000000400604 <.end_c941>:
  400604:   48 81 ec 80 00 00 00    sub    $0x80,%rsp
  40060b:   50                      push   %rax
  40060c:   53                      push   %rbx
  40060d:   56                      push   %rsi
  40060e:   48 31 c0                xor    %rax,%rax
  400611:   48 c7 c6 41 06 40 00    mov    $0x400641,%rsi

我需要的是與.cslot_c941對應的文件偏移,因為我需要在此位置修改字節。

我將如何完成這項任務?

您可以使用-F獲取OBJDUMP來轉儲文件偏移。 OBJDUMP文檔中

 objdump ..snip.. [-F|--file-offsets] ..snip.. 

嘗試使用objdump -DF prog 您應該看到列出的每個標簽都帶有文件偏移量,並包含以下信息:

0000000000400601 <.cstart_c941>: (File Offset: 0xXXXXXXXX)

0xXXXXXXXX應該是該標簽的文件偏移量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM