[英]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.