Со страницы руководства objcopy
objcopy можно использовать для создания необработанного двоичного файла с использованием выходного целевого двоичного файла (например, используйте -O binary ).Когда objcopy генерирует необработанный двоичный файл, он, по существу, создает дамп памяти содержимого файла входных объектов.Все символы и информация о перемещении будут отброшены.Дамп памяти начнется с виртуального адреса самого нижнего раздела, скопированного в выходной файл.
Вот пример, который можно использовать в архитектуре PowerPC:
original vmlinux
bash-3.2$ file vmlinux
vmlinux: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped
раздетый vmlinux считается файлом «данных»
bash-3.2$ file vmlinux.bin
vmlinux.bin: data
преобразовать двоичный формат в формат ELF для PowerPC
bash-3.2$ powerpc-440fp-linux-objcopy -I binary vmlinux.bin -B powerpc -O elf32-powerpc vmlinux.bin.x
Вывод vmlinux теперь считается файлом ELF
bash-3.2$ file vmlinux.bin.x
vmlinux.bin.x: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV), not stripped
Вы должны передать -I , -B и -O параметр.Вы можете получить эти параметры из документации по objcopy.
Но так как ваш двоичный файл уже удален, пытаясь декомпилировать, он может не иметь смысла, так как информация о разделе недоступна.Все данные в файле будут сохранены в разделе .data.