Shu*_*eng 2 c++ linux x86 assembly elf
假设我有一个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
Run Code Online (Sandbox Code Playgroud)
我需要的是文件偏移对应.cslot_c941,因为我需要在这个位置修改字节.
我该如何完成这项任务?
您可以通过使用获取OBJDUMP来转储文件偏移量-F.从OBJDUMP文档:
Run Code Online (Sandbox Code Playgroud)objdump ..snip.. [-F|--file-offsets] ..snip..
尝试使用objdump -DF prog.您应该看到每个标签都带有文件偏移量,其中包含以下信息:
0000000000400601 <.cstart_c941>: (File Offset: 0xXXXXXXXX)
Run Code Online (Sandbox Code Playgroud)
0xXXXXXXXX 应该是该标签的文件偏移量.
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |