I'm trying to reverse engineer a binary file using GDB and objdump. I can execute the binary in my linux shell, however the file seems to be changed in a way that it can't be debugged / reverse engineered.
The file
utility shows the following information:
mybinary: ERROR: ELF 64-bit LSB executable, x86-64, invalid version (SYSV), dynamically linked (uses shared libs)error reading (Invalid argument)
I get the follwing error in GDB:
gdb ./mybinary
mybinary: not in executable format: File format not recognized
and a similar error from objdump:
objdump -S -l -C -F -t -w ./mybinary
objdump: ./mybinary: File format not recognized
readelf shows this at the end of the output:
readelf -h ./mybinary
readelf: Error: Unable to seek to 0xffffff60e9000000 for string table
readelf: Error: Section 8 has invalid sh_entsize 6c2f343662696c2f (expected 18)
readelf: Error: Section 23 has invalid sh_entsize 0 (expected 10)
readelf: Error: no .dynamic section in the dynamic segment
What can I do to debug / reverse engineer this binary?
Edit: gdb and objdump show these error messages, because the elf header of the binary was corrupted on purpose. Still don't know how to fix elf headers or debug this file.
sh_entsize
number actually contains a fragment of text:/lib64/l
– but not enough to decide what the entire file is.