Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 12.02.2012, 15:18  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Сообщение от lviv21 Посмотреть сообщение
А кто запрещает использовать тот же протеус или АВР студию?
Никто не запрещает.
Студию уже советовали.
С Протеусом чуть хуже - с исходником не сопоставишь ввиду отсутствия оного. А ещё можно Студию+Протеус в связке.
Только, похоже, советовать уже незачем - нет ТС...
Реклама:
omercury вне форума  
Непрочитано 12.02.2012, 20:38  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Ребята, я писал ассемблеры и дизасемблеры, писал на ассемблерах как минимум с десятка МП и МК, и вот что я вам скажу...
В своё время у знаменитого i8080/8085(580вм80/1821вм85) была команда sphl. Она меняла указатель стека sp и регистровую пару hl. А регистровая пара позволяла делать косвенную адресацию... Это позволяло писать на ASM примерно так ...
call PrintStr
db: "выводим строку",0
mov ....
В п/п PrintStr я первым делом менял sp c hl, далее выводил строку опять менял и делал возврат. Таким образом я возвращался на команду следующую за выводимым текстом ... Это, кроме удобства (сразу видно то, что ты выводишь) давало ещё и экономию ... Потому как, в противном случае необходимо было бы загружать адрес строки вывода и т.д.
Понятно, что дизасемблирование такой проги вызывает определённые трудности.... и то только при том, что этот случай не предусматривать ...
====
Сейчас так не пишут ... И очень правильно делают! Да и AVR не позволяет впрямую обратится к указателю стека. И тоже очень правильно!!! Просто пытаются "найболее одарённым" указать, что свою энергию надо пускать в другое русло.
Итак. Какие существуют подводные камни? Скажем применительно к AVR.
Фактически это ijmp. И всё.
Я не буду говорить, про дизасемблеры, я давно ими не пользовался, но я на 99% уверен, что напишу дизасемблер за неделю и восстановление, включая таблицы сделаю почти 100%. Если потрачу на это 2 месяца, то думаю восстановлю всё с гарантированной точностью 100%. Ну если только на обратном конце не будет ставится задача обмануть дизасемблер.
===
Написание дизасемблера - достаточно примитивная задача. Начинается раскрутка с начала кода... Составляются таблицы переходов и таблицы данных. И далее опять раскручивается ...
SasaVitebsk вне форума  
Непрочитано 12.02.2012, 20:53  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Сообщение от SasaVitebsk Посмотреть сообщение
Да и AVR не позволяет впрямую обратится к указателю стека.
А кто запретил обращаться косвенно? Или работать с регистровым полем как с областью памяти (они ж в RAM до адреса $60)?
Сообщение от SasaVitebsk Посмотреть сообщение
Фактически это ijmp. И всё.
ICALL и всякие загрузки с использованием индексных пар, LPm/SPM(опять же прямые и косвенные). Кстати, а в чём они являются засадой?
omercury вне форума  
Непрочитано 13.02.2012, 00:35  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Ввиду того, что память данных разделена с памятью програм, то имеет значение только lpm. Понятно, что всё не так просто, но всё же не безнадёжно.
Сообщение от omercury Посмотреть сообщение
в чём они являются засадой?
Засадой является любое динамическое программирование. Для AVR методы всё равно будут статическими, - это чуть лучше, но всё же достаточно сложно раскручивать. Скорее всего там где применяются ijmp/icall - будет всё в ручную.
Раскрутка идёт как клубок ниток. Начинаем сначала, и все переходы-п/п тоже отмечаются. Потом каждая ветка, куда идёт переход, тоже начинает раскручиваться. Выделяются п/п и прерывания.
SasaVitebsk вне форума  
Непрочитано 13.02.2012, 00:54  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,984
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

в студии все видно, на копии в текстовом редакторе метки расставляем, белиберду оставляем в памяти на том же месте как массив .db, ассемблируем и проверяем. слабонервные пьют валидол
чет флудим, греемся на морозе, ТС все равно ужо не будет...
jump вне форума  
Непрочитано 13.02.2012, 00:59  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Сообщение от SasaVitebsk Посмотреть сообщение
имеет значение только lpm
SPM хуже. Можно куски кода, из EEPROM скажем, переписывать. Например вектора прерываний...
omercury вне форума  
Непрочитано 13.02.2012, 01:29  
IGKo
Прописка
 
Регистрация: 16.12.2009
Адрес: Севастополь
Сообщений: 204
Сказал спасибо: 4
Сказали Спасибо 101 раз(а) в 62 сообщении(ях)
IGKo на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Повеселитесь, посмейтесь на дедушкой
Полетел на прошлой неделе HDD, причём во время резервного копирования... Почти месяц работы... под хвост, накрылся в общем. Сгинула и модификация одного из проектов. Восстанавливаюсь со старой копии... шью в новую плату... не работает, конечно. Ушёл и список изменений в ПО, само собой.

Скачал дизассемблер для АВР и построчно сверяю коды с предыдущей версией Тяжело, блин. А я ведь в 80-х СРМ под Синклер дизассемблировал... или когда там Синклерами баловались... старею, лень все эти lpm и sbrc читать... как тот теннис... lpm налево... spm направо - это я экран по вертикали на две части разбил... ничего, за час примерно 20% окучил. Потом бросил, до утра. Я жаворонок... в общем, просыпаюсь рано...

И вот что странно: пока ни одного различия не нашёл, в самых критичных местах благолепие... но не работает... жду утра...

Последний раз редактировалось IGKo; 13.02.2012 в 01:33.
IGKo вне форума  
Непрочитано 13.02.2012, 01:51  
Djakovskij
Вид на жительство
 
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 327
Сказал спасибо: 104
Сказали Спасибо 105 раз(а) в 69 сообщении(ях)
Djakovskij на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Подумаешь, месяц работы. Тьфу. Вот у меня ноутбук уехал в электричке с результатами работы примерно за пять лет, а с ним в сумке и резервные копии. Примерно за полгода по новой наваял.
Djakovskij вне форума  
Непрочитано 13.02.2012, 02:14  
IGKo
Прописка
 
Регистрация: 16.12.2009
Адрес: Севастополь
Сообщений: 204
Сказал спасибо: 4
Сказали Спасибо 101 раз(а) в 62 сообщении(ях)
IGKo на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Сообщение от Djakovskij Посмотреть сообщение
Подумаешь, месяц работы. Тьфу. Вот у меня ноутбук уехал в электричке с результатами работы примерно за пять лет, а с ним в сумке и резервные копии. Примерно за полгода по новой наваял.
Предохраняться надо... три флешки... нет, четыре... несколько ДВД дисков в разных местах... и писАть на них, писАть по два... нет, три раза в день. Может, это решит дело?
Что-то мне Ваше сообщение напомнило... кто-то тоже дело всей жизни с ноутбуком похерил недавно... Церетели там, или Михалков, в общем, какой-то шибко известный чел...
А вообще это Вы здорово придумали... ноут с копиями в одном месте... что б, значит, не долго мучалась старушка... логично
Нам всем надо курс лекций в ФСБ/СБУ/ГРУ прослушать... они объяснят, как надо секрет хранить... и подписку возьмут сразу...
IGKo вне форума  
Непрочитано 13.02.2012, 02:19  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Реверс хекскода Atmel

Сообщение от Djakovskij Посмотреть сообщение
Вот у меня ноутбук уехал в электричке с результатами работы примерно за пять лет, а с ним в сумке и резервные копии.
Вот поэтому и лежат копии в 3х местах - рабочий, домашний компы и флешка в кармане... На месте последнего изменения и на флехе всегда самое свежее...
omercury вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Atmel + tsk worldmasters Микроконтроллеры, АЦП, память и т.д 2 14.01.2009 11:14
[Решено] Atmel помер Snixers Отвлекитесь, эмбеддеры! 8 11.10.2008 00:24
Дизассемблирование Atmel dimmich Микроконтроллеры, АЦП, память и т.д 14 01.10.2008 12:39
ATMEL AT89C51. karik3 Микроконтроллеры, АЦП, память и т.д 0 06.12.2005 12:32


Часовой пояс GMT +4, время: 14:15.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot