我正在尝试使用 GDB 和 objdump 对二进制文件进行逆向工程。我可以在我的 linux shell 中执行二进制文件,但是文件似乎以无法调试/逆向工程的方式进行了更改。
该file实用程序显示以下信息:
mybinary: ERROR: ELF 64-bit LSB executable, x86-64, invalid version (SYSV), dynamically linked (uses shared libs)error reading (Invalid argument)
我在 GDB 中收到以下错误:
gdb ./mybinary
mybinary: not in executable format: File format not recognized
以及来自 objdump 的类似错误:
objdump -S -l -C -F -t -w ./mybinary
objdump: ./mybinary: File format not recognized
readelf 在输出的末尾显示了这一点:
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
我能做些什么来调试/逆向工程这个二进制文件?
编辑:gdb 和 objdump 显示这些错误消息,因为二进制文件的 elf 标头是故意损坏的。仍然不知道如何修复 elf 标头或调试此文件。