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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> как считать программу с AVR?, AVR->HEX->ASM?
KRS
сообщение Jan 11 2008, 09:40
Сообщение #16


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(coolibin @ Jan 11 2008, 11:28) *
Ладно, с константами согласен можно и ручками, а вот данные, строки текста, например, ох как помогают в разборе программы, а ReAVR их походу не распознает((((

Вам надо разобраться с IDA, даже там где она не распознает строки, Вы можете указать тип данных...
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jan 11 2008, 13:13
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



После дизассемблирования в ReAVR в коде присутсвует много непонятных блоков, например:

.dw 0xFFFF ; pc=0x0180(0x0300)
.dw 0xFFFF ; pc=0x0181(0x0302)
adiw r26,k13
ld r16,X
sbiw r26,k13
ret
;----------------------*
; pc=0x186(0x30C)
;
.dw 0xFFFF ; pc=0x0186(0x030C)
.dw 0xFFFF ; pc=0x0187(0x030E)
adiw r26,k12
ld r16,X
ldi r17,k0A
mul r16,r17
mov r16,r0
mov r17,r1
sbiw r26,k12
ret

...интересно, что это такое?


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 11 2008, 21:43
Сообщение #18


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(coolibin @ Jan 11 2008, 15:13) *
После дизассемблирования в ReAVR в коде присутсвует много непонятных блоков, например:
...интересно, что это такое?

Это могут быть пустые места, заполненные по умолчанию значением 0xFFFF или блоки данных, инкапсулированные в код.
Вообще то процесс дизассемблирования является итерационным и в общем случае многопроходным.
IDA многие вещи делает автоматически или, по крайней мере, полуавтоматически.
ReAVR же, при кажущейся своей простоте, требует гораздо больше работы руками, именно в плане определения блоков данных. Не говоря уже о том, что он не подставляет символические имена регистров внутренней периферии.
Если программа на Ваш взгляд достаточно большая, то не поленитесь потратить время на изучение IDA. Окупится сторицей.
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jan 12 2008, 07:27
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



Цитата(IgorKossak @ Jan 11 2008, 23:43) *
Это могут быть пустые места, заполненные по умолчанию значением 0xFFFF или блоки данных, инкапсулированные в код.
Вообще то процесс дизассемблирования является итерационным и в общем случае многопроходным.
IDA многие вещи делает автоматически или, по крайней мере, полуавтоматически.
ReAVR же, при кажущейся своей простоте, требует гораздо больше работы руками, именно в плане определения блоков данных. Не говоря уже о том, что он не подставляет символические имена регистров внутренней периферии.
Если программа на Ваш взгляд достаточно большая, то не поленитесь потратить время на изучение IDA. Окупится сторицей.

Спасибо! wink.gif


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
ishvedov
сообщение Jan 15 2008, 21:53
Сообщение #20





Группа: Новичок
Сообщений: 4
Регистрация: 4-01-08
Пользователь №: 33 826



Цитата(coolibin @ Jan 9 2008, 12:00) *
А почему он не заменяет константы на имена портов? и где находится сегмент данных(.dseg)? имхо, если известны данные легче разбиратся с программой)))

Все он заменяет, просто с прогой надо было разобраться.
в папке C:\Program Files\ja tools\ReAVR\ior лежат файлы с описанием регистров самых распространенных контроллеров (по их образцу не сложно сделать свой файл под другой контроллер). Просто после того как вы послали НЕХ-файл в программу нужно залесть в меню Disas Settings->IO registers->Load list from file и указать пусть в папку ...ReAVR\ior где лежат эти описния регистров...
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jan 17 2008, 13:55
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



Цитата(m16 @ Jan 10 2008, 11:59) *
http://ida470.narod.ru/ правда старенькая , но для авра выше крыши

я ,конечно, извиняюсь, но в списке нет atmega8! почему? есть только atmega8_L


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 17 2008, 13:59
Сообщение #22


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(coolibin @ Jan 17 2008, 16:55) *
я ,конечно, извиняюсь, но в списке нет atmega8! почему? есть только atmega8_L

Да это одно и тоже! с точки зрения программы ничем не отличается!
(отличается потреблением, макс частотой кварца...)
Go to the top of the page
 
+Quote Post
andrvisht
сообщение Jan 17 2008, 14:06
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Цитата(coolibin @ Jan 17 2008, 17:55) *
я ,конечно, извиняюсь, но в списке нет atmega8! почему? есть только atmega8_L

по командам и внутренностям разницы нет. Бери что есть, только вот в файл avr.cfg погляди, там могли чего нить не дописать.
Go to the top of the page
 
+Quote Post
LoneWolf
сообщение Jan 19 2008, 16:56
Сообщение #24





Группа: Новичок
Сообщений: 5
Регистрация: 29-12-07
Пользователь №: 33 735



К вопросу о IDA. Это, пожалуй, лучший на сегоднешний день инструмент обратного проектирования. Сам сидел еще на старой IDA 4.17 честно купленной австрийскими боссами в далеком 2001-м. Ломал BIOSы всяческих hand-held терминалов и переписывал их под свою специфику. Идой можно делать все, но надо привыкнуть к интерфейсу. Сейчас на thepiratebay.org есть ссылка на торрент с самой последней версией IDA 5.2.0.908. "Лекарство" в комплекте. Скачал, попробовал на AVR'овских прошивках - работает волшебно! Разумеется, процесс итерационный, надо уметь и ручками работать. Особенно поразило автоматическое построение блок-схемы алгоритма программы. Дерзайте! ;-)
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jan 21 2008, 10:03
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



У меня проблема со строками в IDA! Она их как то неправильно распознаёт! Ставлю 0-терминейтид стринг, а она всё равно какие то буквы правильно пишет какие то нет. Приходится самому по смыслу разбирать что написано. У кого нить было такое?


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:33
Рейтинг@Mail.ru


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