0

enter image description here

I want to parse an elf64-bit file. The address of this symbol is 0x25008, but in fact this address does not exist. As shown in the figure below, the maximum address of the file is 0x1a900. Obviously, 0x25008 is greater than 0x1a900. How should I parse this elf file to get the correct address

This problem does not exist in arm32, how to solve it under arm64

enter image description here

xxking
  • 77
  • 10

1 Answers1

1

The address of this symbol is 0x25008, but in fact this address does not exist

The section to which this symbol belongs matters (section 31 here).

The symbol is likely in the .bss section, which is guaranteed to be initialized with zeros, and is not stored in the file (there is no point in storing a bunch of zeros in the file -- you can simply fill the section with zeros at runtime).

Employed Russian
  • 199,314
  • 34
  • 295
  • 362