作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我有一个 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 documentation :
objdump
..snip..
[-F|--file-offsets]
..snip..
尝试使用 objdump -DF prog
。您应该看到每个标签都列出了文件偏移量,其中包含如下信息:
0000000000400601 <.cstart_c941>: (File Offset: 0xXXXXXXXX)
0xXXXXXXXX
应该是该标签的文件偏移量。
关于c++ - 如何获取 ELF 二进制文件中与 objdump 输出的标签相对应的文件偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43377195/
现在我正在尝试实现 flash programming specification对于 PIC32MX。我正在使用 PIC32MX512L 和 PIC32MX512H。 PIC32MX512L最终必须
我是一名优秀的程序员,十分优秀!