objcopy

Linux
Publiée le 2026-10-13 05:05:52
Illustration Linux pour la commande objcopy

objcopy

# Copie de base d'un binaire en spécifiant les formats d'entrée et sortie (ELF vers object)
objcopy -F elf -O obj "$1" "$2"

# Conversion de format : transformer un exécutable PE en fichier objet ELF
objcopy -I pe -O elf input.exe output.elf

# Stripping complet des symboles et informations d'édition pour réduire la taille
objcopy --strip-all original_binary stripped_output

# Suppression spécifique de toutes les sections de débogage (debug info)
objcopy --strip-debug original_binary no_debug_info

# Copie en mode binaire pur, ignorant le format cible/source
objcopy -b binary_arch input.bin output.bin

# Initialisation des formats et ajout du flag de débogage pour une conversion complète
objcopy -F elf -O elf --debugging original_binary debugged_output

# Copier uniquement la section 'text' (code exécutable) dans le fichier de sortie
objcopy --only-section .text original_binary text_only.o

# Retirer explicitement les réadressages d'une section nommée 'got'
objcopy --remove-relocations got original_binary clean_output

# Supprimer une section entière (ex: '.comment') du fichier de sortie
objcopy --remove-section .comment original_binary output_no_comments

# Créer un fichier déterministe en élaguant les archives (par défaut)
objcopy -D original_archive deterministic_output

# Désactiver le comportement déterministe pour conserver toutes les données d'archives
objcopy -U original_archive non_deterministic_output

# Conserver les dates de modification et d'accès lors du traitement des fichiers
objcopy --preserve-dates input.bin output.bin

# Ajouter la section .gnu_debuglink au fichier objet pour le débogage avancé
objcopy --add-gnu-debuglink=debugfile original_binary debug_linked_output

# Supprimer les en-têtes de sections (section headers) du binaire final
objcopy --strip-section-headers original_binary stripped_headers.o

# Exemple complet : conversion, stripping et débogage
objcopy -I elf -O elf --debugging --strip-all input.elf final_stripped.elf