Peretasan yang agak janggal di sekitar objdump dan dd :
IN_F=/bin/echo
OUT_F=./tmp1.bin
SECTION=.text
objdump -h $IN_F |
  grep $SECTION |
  awk '{print "dd if='$IN_F' of='$OUT_F' bs=1 count=$[0x" $3 "] skip=$[0x" $6 "]"}' |
  bash
 
 objdump -h menghasilkan output yang dapat diprediksi yang berisi offset bagian dalam file elf. Saya membuat awk untuk menghasilkan dd perintah untuk shell, sejak dd tidak mendukung angka heksadesimal. Dan memberi perintah ke shell.
Dulu saya melakukan semua itu secara manual, tanpa membuat skrip apa pun, karena jarang diperlukan.
 Gunakan -O binary format keluaran:
objcopy -O binary --only-section=.text foobar.elf foobar.text
 
 Cukup verifikasi dengan avr-objcopy dan .text gambar AVR ELF bagian.
 Perhatikan bahwa jika, seperti yang ditunjukkan Tim di bawah, bagian Anda tidak memiliki flag ALLOC, Anda mungkin harus menambahkan --set-section-flags .text=alloc untuk dapat mengekstraknya.
 objcopy --dump-section  
 Diperkenalkan di Binutils 2.25, dan mencapai efek yang mirip dengan -O binary --only-section .
Penggunaan:
objcopy --dump-section .text=output.bin input.o
 https://sourceware.org/binutils/docs-2.25/binutils/objcopy.html mendokumentasikannya sebagai:
--dump-section sectionname=namaberkas
Tempatkan isi bagian bernama namabagian ke dalam nama file file, timpa semua konten yang mungkin sudah ada sebelumnya. Opsi ini kebalikan dari --add-section. Opsi ini mirip dengan opsi --only-section kecuali bahwa opsi ini tidak membuat file yang diformat, opsi ini hanya membuang konten sebagai data biner mentah, tanpa menerapkan relokasi apa pun. Opsi dapat ditentukan lebih dari sekali.
Contoh minimal yang dapat dijalankan
main.S
.data
    .byte 0x12, 0x34, 0x56, 0x78
.text
    .byte 0x9A, 0xBC, 0xDE, 0xF0
 Merakit:
as -o main.o main.S
 Ekstrak data:
objcopy --dump-section .data=data.bin main.o
hd data.bin
 Keluaran:
00000000  12 34 56 78                                       |.4Vx|
00000004
 Ekstrak teks:
objcopy --dump-section .text=text.bin main.o
hd text.bin
 Keluaran:
00000000  9a bc de f0                                       |....|
00000004
 Diuji di Ubuntu 18.04 amd64, Binutils 2.30.