У мене є двійковий файл у форматі mips. Мені вдалося його розібрати, внести зміни, які я хотів, у файл складання за лічені митри. Тепер я хотів би знову зібрати його у файл bin. Я використовую cygwin і намагаюся зробити це за допомогою утиліти ar.
Це оригінальний дамп об'єкта:
$ objdump -b binary -h test.bin
test.bin: file format binary
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00200004 00000000 00000000 00000000 2**0
CONTENTS, ALLOC, LOAD, DATA
У мене також є файл складання (test.asm), який містить інструкції mips з файлу test.bin.
Потім я спробував зібрати його за допомогою:
ar -q test2.bin test.asm --target=elf32-big
і
ar -cr test2.bin test.asm --target=elf32-big
Але в обох випадках я отримую лише бін-файл із вмістом файлу складання. Чи може хто-небудь допомогти у тому, чого мені не вистачає, щоб зібрати це назад на бінарний файл elf32?
Спасибі перед рукою
Відповіді:
2 для відповіді № 1Для цього вам знадобиться програма монтажу MIPS. Якщо у вас є повний крос-компілятор gcc MIPS, ім'я асемблера має бути чимось на зразок mips-as
або as
.
Насправді, це може бути простіше скласти mips-gcc
, який викличе асемблер і лінкер для вас.