реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Дизассемблер для STC12C5A60S2
A.Lex
сообщение Feb 27 2017, 14:11
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Добрый всем день.
возникла необходимость восстановить программу по HEX-файлу.
Использую d52.exe, но результат неприемлемый.
На выходе нечто похожее на программу, но в изобилии команды вида

movx @dptr,a

которые смысла не имеют при отсутствии внешней памяти (а ее нет в исходном устройстве).
Есть ли вероятность получить работоспособный код, или лучше выбросить?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 27 2017, 19:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(A.Lex @ Feb 27 2017, 18:11) *
Есть ли вероятность получить работоспособный код, или лучше выбросить?

Чтобы получить "исходники" из hex, дизассемблеру нужны подсказки от человека. Получение хороших "исходников" - итерационный процесс: подсказки человека несколько раз уточняются. Лучше (удобнее) вносить уточнения в интерактивном режиме. Лучший интерактивный дизассемблер - IDA.
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Feb 28 2017, 04:02
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо
Я лет 20 назад пользовался DASM51, там было легко и просто. Правда, контроллеры были Intel
Go to the top of the page
 
+Quote Post
vladec
сообщение Feb 28 2017, 08:08
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



А не понятные команды, это могут быть какие нибудь таблицы
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Feb 28 2017, 08:16
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Цитата(vladec @ Feb 28 2017, 10:08) *
А не понятные команды, это могут быть какие нибудь таблицы

Да, таблицы там есть. Но все равно в теле программы "левые"команды.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 28 2017, 09:36
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(A.Lex @ Feb 28 2017, 12:16) *
Но все равно в теле программы "левые"команды.

Большинство дисассемблеров не могут разделить команды и "константы" в памяти программ. "Константами" могут выступать, например, строки текста, выдаваемые программой на дисплей/терминал. Тогда команде "movx @dptr,a" соответствует байт со значением F0, что, вероятно, соответствует какой-то букве кириллицы (в некоторых кодировках - буква "р").
В некоторых дизассемблерах человек может подсказать, например: "с адреса ХХХХ лежит строка символов, которая заканчивается нулевым символом"... Естественно, подсказки - некие специфические команды, уникальные для каждого дизассемблера.
Go to the top of the page
 
+Quote Post
Obam
сообщение Feb 28 2017, 10:07
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(Палыч @ Feb 28 2017, 13:36) *
"Константами" могут выступать, например, строки текста, выдаваемые программой на дисплей/терминал. Тогда команде "movx @dptr,a" соответствует байт со значением F0, что, вероятно, соответствует какой-то букве кириллицы (в некоторых кодировках - буква "р").


Вот тут полезно дамп памяти в двоичном представлении иметь: текстовые строчки сразу видны будут
[attachment=105857:_.png]


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Feb 28 2017, 10:45
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо за ответы
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 09:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01434 секунд с 7
ELECTRONIX ©2004-2016