Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужен толковый дизассемблер для 51
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
011119xx
Есть hex файл под at89c51ed2, нужно его дизассемблировать. Кто что посоветует?
MaslovVG
Цитата(011119xx @ Nov 21 2011, 14:06) *
Есть hex файл под at89c51ed2, нужно его дизассемблировать. Кто что посоветует?

IDA
011119xx
Пробовал. Не впечатлило
AndreyS
Цитата(011119xx @ Nov 21 2011, 15:04) *
Пробовал. Не впечатлило


А зря (по моему лучшего нет)!
Какие требования к дизассемблеру?
011119xx
Научите как правильно пользоваться IDA.
MaslovVG
Цитата(011119xx @ Nov 21 2011, 15:04) *
Пробовал. Не впечатлило

Лучше не существует.
Интерактивная работа. Возможность на ходу задавать области данных, строковых констант, возможность вводить имена меток. Этого не видел нигде. А представления программы в виде блочной диаграммы?

Цитата(011119xx @ Nov 21 2011, 15:16) *
Научите как правильно пользоваться IDA.

Найдите книгу Касперского "Образ мышления - дизассемблер Ida" там описно в применении для X86 но методика подходит для любого процессора.
011119xx
Спасибо. Буду искать книгу... Книгу нашел. Кое что конечно почерпнуть можно, но описывает весьма старую версию программы.
Палыч
Цитата(011119xx @ Nov 22 2011, 06:42) *
...описывает весьма старую версию программы.
Вам - "шашечки" или ехать?
То, что умела делать четвертая версия, то умеет делать и шестая. А, разобраться самостоятельно с графическим интерфейсом Вам поможет встроенная помощь...
011119xx
Мне ехать. И уже еду, но чувствую, что до конца не доехать (не получится дизассемблировать программу правильно, слишком много тонкостей).

Кто-нибудь может подсказать как добавить сегмент данных XRAM и какие адреса ему задавать?
MaslovVG
Цитата(011119xx @ Nov 23 2011, 09:05) *
Мне ехать. И уже еду, но чувствую, что до конца не доехать (не получится дизассемблировать программу правильно, слишком много тонкостей).

Кто-нибудь может подсказать как добавить сегмент данных XRAM и какие адреса ему задавать?

Дизассемблировать (чтобы затем программу можно было компилировать) это разобратся в тонкостях работы программы, для этого нужно знать архитектуру процессора, алгоритмические приемы. Методы защиты програм.
Все необходимые адреса извлекаются из устройства для которого программа написана. Или методом подбора по найденным в программе адресам обращения.
011119xx
Да программу то я сам писал, просто были утеряны исходники проекта и теперь нужно их восстанавливать. Что да как там работает знаю примерно, но многое подзабылось. А по поводу знания архитектуры процессора это не серьезное замечание. Вопрос то был в другом.
kolobok0
Цитата(011119xx @ Nov 23 2011, 10:15) *
...Вопрос то был в другом.


чисто ответ, правда не буду оригинален:

IDA

(круглый)
Denis24
Я тоже согласен, только IDA , других вариантов нет, раньше работал с консольными досовскими дизассемблерами, но только чтобы быстро чтото поправить в прошивке.IDA достаточно версии 4.04

Вот так выглядит досовский дизассемблер
8751 code disassembler V1.2

-------------------- Function Help --------------------------
U [startaddr],[endaddr] : Disassemble output to consol
P [startaddr],[endaddr] : Disassemble output to printer
W filename,startaddr,endaddr : Disassemble output to file
H or ? : Help
Q : Quit to DOS
-------------------------------------------------------------

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.