Перейти к содержанию
    

анализ bit-файла с программой

Возникла острая необходимость проанализировать содержимое софтверной части битфайла

С помощью утилиты data2mem получилось сделать дамп битфайла, но мне нужно получить хотя бы ассемблерный код программы. Есть ли такая возможность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникла острая необходимость проанализировать содержимое софтверной части битфайла

С помощью утилиты data2mem получилось сделать дамп битфайла, но мне нужно получить хотя бы ассемблерный код программы. Есть ли такая возможность?

 

для какого процессора?

 

в ГНУ-тых тулзах дизасемблировать умеет objdump

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема в том как получить из bit-файла файл, который пригоден для objdump

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема в том как получить из bit-файла файл, который пригоден для objdump

 

bit файлы формат закрытый, но кажется, что вытащить содержимое BRAM из него не проблема

 

сам я не делал, но вот

 

http://electronix.ru/forum/index.php?showt...st&p=603963

 

из бинарного (s-record) или любого другого objcopy может сделать elf, его нужно подсунуть objdump-у

 

вроде так

UPD: проверил для интереса на sparc - фигня какая-то выходит :) - но может это баг в конкретном бинутиле

вобщем objdump -H должен напечатать архитектуры и таржеты (названия)

ну и типа

objdump -b _тип_файла_ -m _архитектура_ -D файл

попытается дизасемблировать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

objdump это скорее для маньяков (не сильно лучше, чем в кодах, если этот obj без символов) :) Лучше Ida Pro.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первым делом нужно найти начало кода программы, их там может быть две это Bootloader и сама прога. У тебя сама плата, доступ к JTAG и программатор есть? Откуда стартует прога? Из флэшки или из SDRAM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все интструменты для работы есть. Прога есть внутренняя + загрузчик который грузит основную прогу из флешки в сдрам. Еще вопрос можно ли изменить содержимое bram плиски частично?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Флешка какая, SPI?

 

bit файл нужно взять из флеш (IMPACT > ... Readback). Код ПО в bit видимо отделён пустым окном памяти.

Либо в XPS SDK подцепиться к процессу (Debug>Initialization>Reset Type: No reset) и как-то его перезапустить в пошаговом режиме, чтобы узнать с какого адреса Bootloader грузит ПО.

 

Если выцепил bit файл ПО - он в формате MSC (видимо)

 

При объединении файла конфигурации и ПО делаются такие дейсвия:

Преобразование ELF в SREC: mb-objcopy -O binary %application%.elf %application%.b

Преобразование SREC в MCS: xmcsutil -accept_notice -i %application%.b -o %application%.mcs -29

Может также обратно разкрутить до elf?

 

data2mem выцепил только Bootloader, которым инициализирутся BRAM.

 

"Еще вопрос можно ли изменить содержимое bram плиски частично?" - Можно

BRAM можно инициализировать любым кодом, в т.ч. и изменённым (data2mem)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще вопрос можно ли изменить содержимое bram плиски частично?

В Альтере это можно сделать через In-System Memory Content Editor, через JTAG. Но при условии, что используется однопортовый блок памяти  (на второй порт подцепляется jtag).

В Xilinx, скорей всего должна быть аналогичная тулза.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...