وعليكم السلام
اذا كنت تتعامل مع mips لماذا تستعمل objcopy بدلاً من mips-linux-gnu-objcopy ؟
اذا نفذت الامر objcopy ستلاحظ في الاسفل اسماء المعماريات التي يدعمها
objcopy: supported targets: elf64-x86-64 elf32-i386 elf32-iamcu elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big pe-x86-64 pe-bigobj-x86-64 pe-i386 plugin srec symbolsrec verilog tekhex binary ihex
نصب mips-linux-gnu-objcopy
sudo apt install binutils-mips-linux-gnu
ثم جرب
mips-linux-gnu-objcopy -I binary -O elf32-tradlittlemips -B mips --change-section-address .data=0x08000000 test.bin out123.elf
النتيجة
قبل
ubuntu:~/Desktop/test$ rabin2 -I test.bin
Warning: Cannot initialize program headers
Warning: Cannot initialize dynamic strings
Warning: Cannot initialize dynamic section
arch x86
binsz 65256
bintype elf
bits 32
canary false
class ELF32
crypto false
endian little
havecode true
lang c
linenum true
lsyms true
machine No machine
maxopsz 16
minopsz 1
nx false
os linux
pcalign 0
pic false
relocs true
rpath NONE
static true
stripped false
subsys linux
va true
بعد
ubuntu:~/Desktop/test$ rabin2 -I out123.elf
Warning: Cannot initialize program headers
Warning: Cannot initialize dynamic strings
Warning: Cannot initialize dynamic section
arch mips
binsz 65688
bintype elf
bits 32
canary false
class ELF32
crypto false
endian little
havecode true
lang c
linenum true
lsyms true
machine MIPS R3000
maxopsz 16
minopsz 1
nx false
os linux
pcalign 0
pic false
relocs true
rpath NONE
static true
stripped false
subsys linux
va true