У меня есть файл, содержащий двоичный код ARM v8. Я хочу разобрать файл и получить фактический код сборки, содержащийся в нем.определение смещения кода для дизассемблера objdump в ARMv8
Предполагая, что имя файла является tmp.o я бег:
/opt/linaro/A64-tools/bin/aarch64-linux-gnu-objdump -b binary -m AARCH64 -D tmp.o
Это дает мне правильную разборку. Однако смещение для инструкций филиала предполагает, что этот код находится в адресе 0x00000000.
Если я знаю, что код будет сидеть в адрес 0x12345678 в памяти:
- Есть ли способ сказать objdump использовать этот адрес в качестве начального адреса?
Если нет, то я могу добавить заголовок в двоичный файл, который говорит что-то вроде:
. = 0x12345678
Заранее спасибо ..
Есть ли у вас достаточно свободного места на диске, чтобы просто подушечка начало файла с 0x12345678 нулевых байтов? : P – Notlikethat
К сожалению, нет места на диске и нет времени выполнения :( – siwesam
это объект, а не связанный двоичный код, вы можете связать двоичный файл с конечным адресом, а затем разобрать, что –