Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Логи Attiny2313
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
noobie
Уважаемые специалисты, прошу подсказки в следующем вопросе.
Есть некоторая прога, которая общается через УСб со своей железкой. Грубо говоря прога кидает шифрованный пакет данных на Аттини2313, которая стоит внутри железки, а Аттини в свою очередь его расшифровывает и уже на выходе идет нормальный сигнал на ацп и дальше через железку связь с другой железкой.
У меня такой вопрос, что вы посоветуете для того, чтобы толково соснифить вот эти самые пакеты, которые на входе в атини и на выходе: какое железо, ПО?
Прошу прощения если некорректно изложился. wacko.gif
_Pasha
Схему железки - в студию. Хотя-бы структурную.
noobie
Ну, концептуально ето дело выглядит так.

Нажмите для просмотра прикрепленного файла

Тобишь пришел пакетик данных от проги, обработался процем, и пошел себе дальше на макс232, но уже в том виде, в котором надо.

Дык вот чем собственно цепляться к ножкам атмела, чтоб ето дело красиво разложить, чтоб скорость соответсвующая и т.д.

Спасибо.
aaarrr
Цитата(noobie @ Dec 17 2008, 16:48) *
У меня такой вопрос, что вы посоветуете для того, чтобы толково соснифить вот эти самые пакеты, которые на входе в атини и на выходе: какое железо, ПО?

Со стороны компьютера можно воспользоваться софтовым сниффером, snoopypro, например.
noobie
ну состороны компа я USBTRACE смарю, мне принципиально, то, что после атмелки... Я так пологаю, что специальных приблуд для етого нету и придеццо пользовать осцик, но может кто-то из профессионалов подскажет альтернативу, учитывая специфику девайса? Просто никогда не приходилось с таким сталкиваться и в инете покопался - нигде подробных описаний нет sad.gif
aaarrr
Цитата(noobie @ Dec 17 2008, 18:32) *
мне принципиально, то, что после атмелки...

А что после контроллера? Если UART, как нарисовано на картинке, то что мешает и его завести в комп?
noobie
Нет. Вы немножко последовательность неправильно поняли, точнее я "накалякал": прога кинула на UART (FTDI), снего на Атини, оттуда на Max232 а потом уже к конечной цели... и ответ получает по той же цепочку тока в обратном порядке... ну через Тх и Rх...
Простите если изъясняюсь не на вашем языке.
aaarrr
Т.е. к ATTiny подключено 2 UART'а - один идет с компьютера через FTDI, а второй идет через MAX232 к конечной цели, я правильно понимаю?
aleksey_g
Цитата(noobie @ Dec 17 2008, 18:54) *
...оттуда на Max232 а потом уже к конечной цели...

Берете комп с двумя компортами.
Выход Max232 заводите не только к конечной цели, но и на вход первого компорта.
Вход Max232 заводите не только от конечной цели, но и на вход второго компорта.
(Грубо говоря воруете данные по пути следования)
А далее - хоть любой терминалкой разгребаете весь поток данных, Сравниваете
с данными, подсмотренными на управляющем компе...
И не забывайте, что Max232 это по сути инвертор.
_Pasha
Цитата(aleksey_g @ Dec 17 2008, 21:20) *
Берете комп с двумя компортами.

Смущает лишь то, что при этом еще надо отслеживать причинно-следственные связи типа что-после-чего приехало. А может быть еще и времена надо будет точно мерять.
aleksey_g
Цитата(_Pasha @ Dec 17 2008, 20:30) *
Смущает лишь то, что при этом еще надо отслеживать причинно-следственные связи типа что-после-чего приехало. А может быть еще и времена надо будет точно мерять.


Ну, дык, нелегок хлеб у хакеров!
kamil_yaminov
Какой-нибудь COM-port toolkit показывает время, когда пакет принят, может вроде логи сохранять, чтобы потом с ними работать
noobie
всем спасибо за идеи. но...
1. компорт отсутствует впринципе - связь идет через УСБ (приборчик вставляется в усб), в винде ставится "виртуальный ком-порт", ну это понятно, потому что работает через FTDI.
2. Смотреть то что на МАКс232 приходит выходит к сожалению смысла нету, а вот на атмел есть... я хочу понять метод декриптовки пакета данных. Тобишь если прилетело FF 14 FF 15, а вы летело FF 14 FF EA, то очевидно ксорится на FF ну например... это образно...
Так вот принципиально стоит задача четко получить то что на лапке атмела когда входит и то что на лапке атмела когда идет в сторону Макс 232 (тобишь выходит).
Очень понравилась идея по поводу того чтобы лапу выхода завести на вход FTDI - очень хорошая идея, но вот ведь какая штука - скорость обмена серьезная и я боюсь что данные будут тупо смешиваться с ответом от конечной цели. Т.е. пошел запрос и как тока он "с той" стороны атмела появился он идет тут же не только на макс232 но и ко мне обратно усб, однако это будет "конфузить" саму прогу, которая ждет ответа sad.gif... и нормальной работы и связи будет сложно добиться sad.gif
Другое дело что можно побыстренькому обвесить FTDI и сделать типа похожего адаптера, лапку "выхода" аттини соединить со входом FTDI и ловить ето дело соседним компом, но потом надо как то по времени всё сопоставить и т.д.
Ребята предлагайте пожалуйста еще варианты. Работой займусь только на выходных. Вам обязательно доложу как что делал...

Всем большущее спасибо за активность. На других форумах такой поддержки не добиться.

з.ы. Алексей, это делается не в хакерских а исследовательских целях.
aleksey_g
А может (если повезет - вдруг чип не залочен) просто прочитать прошивку этой тиньки, дизассемблировать и таким способом раскусить ее потроха?

P. S.
А если компорт отсутствует, то возможно найдется парочка кабелей для мобилы. Там проеобразователь USB-COM.
Только придется позаботиться о преобразовании уровней сигналов(:
MrYuran
Цитата(noobie @ Dec 18 2008, 12:09) *
это делается не в хакерских а исследовательских целях.

Ну ясен пень, исследовать и сделать такой же
noobie
Цитата(aleksey_g @ Dec 18 2008, 13:19) *
А может (если повезет - вдруг чип не залочен) просто прочитать прошивку этой тиньки, дизассемблировать и таким способом раскусить ее потроха?

P. S.
А если компорт отсутствует, то возможно найдется парочка кабелей для мобилы. Там проеобразователь USB-COM.
Только придется позаботиться о преобразовании уровней сигналов(:



smile.gif aleksey_g, помимо того что залочен, так еще и ноги спалены wink.gif Поэтому просто прочитать не выйдет.
Компорт отсутствует не у компа, а у приборчика он на усб построен.

MrYuran мне такой же не нужен (он у меня есть) и я точно такой сам сделать не смогу - квалификация низкая будет.... wassat.gif
Просто конечная цель и софтина работают по особому протоколу, поняв который я смогу написать программку которая будет выполнять мои задачи. Грубо говоря автору надо было включать лампочку, гасить её, открывать входную дверцу, включать телик и т.д. по этому протоколу, а мне надо будет заставлять крутиться колесико, а у автора етого нету.... не более.
Хакерство связано немного с другим... Конечно умный человек найдет описание протокола поймет его и напишет что надо... Но я к сожалению не могу найти ни описания ни чего либо подобного, потому что автор вынес это описалово с завода smile.gif...
_Pasha
Цитата(noobie @ Dec 18 2008, 13:09) *
я хочу понять метод декриптовки пакета данных.

Имея ввиду довольно скромные возможности самой 2313, можно для начала подключить этот самый МАХ232 на компорт и тупым перебором поотсылать пакеты данных, из виртуального компорта.
noobie
Павел, извините немного не уловил Вашу идею. Можно пожалуйста немного подробнее.
Ну вот скажем прога "говорит" включи лампочку... На языке понятном конечной цели это будет выглядеть так: FF AA BB CC DD
Но на атмел уходит FA 55 66 77 88 99, где FA говорит атини о том, что сча речь пойдет о лампочке, поэтому бери 4-й алгоритм раскриптовки и обработай с 55 по 99 "по алгоритму по которому договаривались" smile.gif ... Ну вот я на выходе получаю не 6 байт которые ушли на атмел а 5, уже красиво преобразованных, понятных для конечной цели. Ну а дальше уже работает макс232. Так вот меня интересует сугубо FF AA BB CC DD и почему именно FF AA BB CC DD, а ни абракадабра. Для этого я и хочу выстроить себе точнейшую таблицу того что на входе и на выходе. А что мне даст то что я подключу Макс232 на порт - не понял... sad.gif
aleksey_g
Цитата(noobie @ Dec 18 2008, 12:58) *
А что мне даст то что я подключу Макс232 на порт - не понял... sad.gif


C выхода тиньки вы получаете сигнал в ТТЛ уровнях 0-5в. Макс232 их инвертирует и превращает в уровни +-12в. Эти уровни понятны ком-порту.
Вот если вы подключите выход Макс232 к компорту, то сможете выяснить, что же выдает тинька.
noobie
Цитата(aleksey_g @ Dec 18 2008, 14:21) *
C выхода тиньки вы получаете сигнал в ТТЛ уровнях 0-5в. Макс232 их инвертирует и превращает в уровни +-12в. Эти уровни понятны ком-порту.
Вот если вы подключите выход Макс232 к компорту, то сможете выяснить, что же выдает тинька.


А теперь понял... абсолютно точно. a14.gif
У меня в голове вырисовывается примерно следующая технология:

беру адаптер - родной, в нем кидаю проводок на выход Атини и соеденяю его со входом макс232 на отдельной макетке, а выход макс 232 буду направлять на вход FTDI (соседнего компа). Таким образом на одном компе снифлю запросы посылаемые прогой (условно то что придет на вход нашей атини) а на соседнем компе снифлю, то что из неё вышло. Работать буду USb-Trace - там есть возможность в логах смареть время. Ну и потом попробую выстроить таблицу и найти закономерности.
Вот как то так. Если я запутался - поправьте меня пож-та.
_Pasha
Наверное, надо только снифить, потому что у железки еще может быть что-то типа "счетчика смерти" для реакции на недопустимые данные на входе.
noobie
Цитата(_Pasha @ Dec 18 2008, 15:37) *
Наверное, надо только снифить, потому что у железки еще может быть что-то типа "счетчика смерти" для реакции на недопустимые данные на входе.


Вы знаете не удивлюсь, учитывая как упакована сама программа, то что она распаковывается по данным с адаптера, и то что у атиньки сожжены лапки, то не исключено что внутри там бомба.
aleksey_g
Цитата(noobie @ Dec 18 2008, 13:36) *
А теперь понял... абсолютно точно. a14.gif
Вот как то так. Если я запутался - поправьте меня пож-та.


Что-то вроде того. Только убедитесь в согласованности уровней сигналов. Чтобы не подали +-12 туда, где нужно только 0-5! или же 0-3.3
И не напутайте с полярностью! Иначе получите кашу. Помните, что МАХ232 - инвертор. И если она стоит после тиньки, значит у тиньки инверсный выход.
Могут еще быть грабли со скоростью передачи. Нужно знать, на какой скорости работает ваш канал. Иначе - опять каша.
noobie
Цитата(aleksey_g @ Dec 18 2008, 16:53) *
Что-то вроде того. Только убедитесь в согласованности уровней сигналов. Чтобы не подали +-12 туда, где нужно только 0-5! или же 0-3.3
И не напутайте с полярностью! Иначе получите кашу. Помните, что МАХ232 - инвертор. И если она стоит после тиньки, значит у тиньки инверсный выход.
Могут еще быть грабли со скоростью передачи. Нужно знать, на какой скорости работает ваш канал. Иначе - опять каша.


Стесняюсь спросить а что за грабли могут быть со скоростью???
Nanobyte
Цитата(noobie @ Dec 20 2008, 12:04) *
...Стесняюсь спросить а что за грабли могут быть со скоростью???

Обычные подводные грабли - Вы пытаетесь принять данные со скоростью, к примеру, 9600 bps, а прибор передаёт их со скоростью 115200 bps. Комбинаций множество, все перебрать трудно. Если известно количество передаваемых байтов, то можно попытаться посмотреть осциллографом длину пакета, длину одного бита, и рассчитать требуемую скорость. Хотя, судя по описанию защит Вашего устройства, вполне возможно использование нестандартных скоростей приёма/передачи ну, к примеру, 32768 bps. Оба МК работают на одной скорости, но она нестандартна для ПК, поэтому отснифферить их обмен обычными программами будет трудновато. Кроме того, несмотра на использование родных выводов UART-a для обмена данными, никто не мешал авторам прибора использовать свой программный протокол, к примеру с 7 или 11 битами, или хуже того, с переменной (прыгающей) длиной пакета битов. Я бы делал именно так. Понятно, что серьёзного взломщика эти хитрости не остановят, но работу ему усложнят сильно.
В общем, для начала нужен хороший осциллограф, возможно программный (на звуковой карте), если скорости обмена небольшие.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.