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.
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.