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

 
 
> Перевод дизассемблера обратно в исходник
gem
сообщение Jun 13 2018, 15:08
Сообщение #1





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



Приветствую Уважаемые!
Есть дизассемблированный код процессора pic18ф4620/2620, пытаюсь собрать исходник обратно с помощью МПЛАБ IDE МPASMWIN, чтобы потихоньку разбираться что к чему и как работает.
Естественно вылазит куча ошибок.
Самая распространенная это Error[126] 32273 : Argument out of range (8423 not between FC00 and 03FF). В коде данных строк стоит переход BRA 720.
Про команду эту почитал, и вроде метка есть L720. Но ругается я так понимаю на диапазон. Как узнать почему ?
Та же ошибка, только тут уже не нравиться RCALL
L1903 RCALL 987
NOP
BRA L1850
BRA L1851
NOP
NOP
BNC L1852.

и еще

Error[126] 27724 : Argument out of range (9FF8 not between 0000 and FFFF) // CALL 0x0F9FF8,FAST
Error[126] 27769 : Argument out of range (D29A not between 0000 and FFFF) // GOTO 0x1ED29A


Понятно что, тут возможно код так дизассемблировался и в идеале он уже не тот, но все же 80% кода собирается и выглядит один в один с исходником хекса, если все убрать где начинаются это ошибки. Помогите исправить, чтобы программа компилировалась.

https://mega.nz/#!FMZlGLzZ!EtARv8iv...7F1VN1M4MkJKPFA

Сам код.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Марк_Я
сообщение Jun 19 2018, 14:45
Сообщение #2


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(k155la3 @ Jun 19 2018, 15:14) *
например строки для LCD,
определить в исходнике асм как DB.

Извините, но Вы - жертва стереотипов.
С чего Вы взяли, что строки для LCD будут обязательно определены как DB?
Элементарно и целесообразно их определять как DW.
Но дело даже не в этом. Я не понимаю чем поможет восстановлению исходника отделение полей констант. Ну отделили, и что?
И LCD может быть графическим, и упаковка графики не иметь формата экрана, а состоять из примитивов...
Опять же главное в восстановлении исходника - восстановление глобального алгоритма, а так же выделение основных функций этого алгоритма.
Поэтому начинать надо с выделения main, то есть участка общей инициализации и главного цикла (суперлупа). И из функций вызываемых этим циклом развернуть остальной код.
А где будут константы, - укажут команды табличного чтения. Это элементарно и определяется В САМОМ КОНЦЕ реверсинжиниринга.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jun 19 2018, 18:21
Сообщение #3


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Марк_Я @ Jun 19 2018, 17:45) *
Извините, но Вы - жертва стереотипов.
Не исключаю. Позволю себя процитировать sm.gif
Цитата
Процесс творческий и итерационный. У каждого процессора - свои ньюансы.
Поскольку Вы хорошо знаете платформу (PIC), а я - нет (последние 5 лет "сижу" на MSP430) - Вы правы.
Да и ТС выкладывать прошивку не пожелал . . .
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gem   Перевод дизассемблера обратно в исходник   Jun 13 2018, 15:08
- - Baser   Встроенные в IDE дизассемблеры, как правило, не об...   Jun 13 2018, 15:52
|- - kovigor   Цитата(Baser @ Jun 13 2018, 18:52) Тут ну...   Jun 14 2018, 05:46
|- - jcxz   Цитата(kovigor @ Jun 14 2018, 08:46) Если...   Jun 14 2018, 06:27
- - gem   Тут использовался не встроенный в МПЛАБ дизассембл...   Jun 13 2018, 15:55
- - k155la3   IDA. Посмотрите, возможно есть PIC. Более удобного...   Jun 13 2018, 17:44
|- - Smen   Цитата(k155la3 @ Jun 13 2018, 22:44) Боле...   Jun 14 2018, 11:20
- - k155la3   Посмотрел листинг. Всего - около 500 страниц текст...   Jun 14 2018, 09:38
- - gem   В этом все и дело, сам код без проблем компилирует...   Jun 14 2018, 14:24
|- - Smen   Цитата(gem @ Jun 14 2018, 18:24) Как их в...   Jun 15 2018, 06:22
- - k155la3   литералы смотрите в FAR. По адресу или смещению на...   Jun 14 2018, 15:45
- - gem   Чтобы что-то дополнить нужно исходник иметь, для э...   Jun 15 2018, 16:09
|- - k155la3   Цитата(gem @ Jun 15 2018, 19:09) (1)Как д...   Jun 15 2018, 17:10
- - Марк_Я   В системе команд PIC18 (как и других PIC-ов) под л...   Jun 16 2018, 04:11
|- - k155la3   Цитата(Марк_Я @ Jun 16 2018, 07:11) . . ....   Jun 17 2018, 14:40
- - Марк_Я   Цитата(k155la3 @ Jun 17 2018, 17:40) Поэт...   Jun 19 2018, 10:33
- - k155la3   Под "разбором" с литералами-константами ...   Jun 19 2018, 12:14


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

 


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


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