I am trying to learn how ELF files are structured and probably how to make one manually.
I am working on aarch64 Linux OS, the ELF files I am inspecting are of elf64-littleaarch64 format.
Also I try to learn by myself, however I got stuck with some questions...
- When I do
xxd code, the first number in each line of the output specifies the address of bytes in the file. But whenobjdump -D code, the first number is something like4000b0, however corresponds to000000b0inxxd. Why is there a four at the beginning? - In
objdump, the bytecode is for example11000a94, which 'means'add w20, w20, #2in assembly. I know, that11is the opcode, but what does000a94mean? I thought, it should be the parameters, but I am adding the value 2 and can't find the number 2 in it.
If you have a good article to read, or can help me explain this, I will be very grateful!