Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.07.2019, 21:24
|
|
Частый гость
Регистрация: 10.09.2009
Сообщений: 19
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
как найти алгоритм/дешифратор еепрома?
Всем Привет,
я опят взламываю чужую систему, в этот раз не шину коммуникаций а ЕЕПРОМ. С этого ЕЕПРОма считываются настройки при помощи микроконтроллера и при корректной контрольной сумме выплевывает на дисплей.
большая часть уже взломана, а это контрольная сума и его алгоритм, могу теперь манипулировать я ячейки еепрома.
у меня есть 4 оригинальных еепрома, в который я нашел мне нужный параметр мощности, это:
1. ЕЕРПРОМ: ячейки: 06, 86 -› 0x2a, 0xd0 -› на дисплеи 30 (мощность)
2. ЕЕРПРОМ: ячейки: 06, 86 -› 0x43, 0x80 -› на дисплеи 05 (мощность)
3. ЕЕРПРОМ: ячейки: 06, 86 -› 0x0C, 0x88 -› на дисплеи 44 (мощность)
4. ЕЕРПРОМ: ячейки: 06, 86 -› 0x28, 0xA0 -› на дисплеи 13 (мощность)
есть еще 4 мощности в наличии, 20,55,75,1А, там пытаюсь рассчитать эти две ячейки (06, 86), но не получается.
Если я вбиваю другу мощность, не из этой таблицы, то дисплей показывает мне "хх".
есть идея, как мне рассчитать мощность, например 55?
Мощность храниться 100% в этих двух ячейках, и остылые ячейки еепрома я даже не изменяю!
|
|
|
|
26.07.2019, 19:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
А кто Вам сказал, что функция кодировки - линейная? Вполне взможно что у Вас 2 независимых параметра. При этом они могут быть зашифрованы каждый по своему алгоритму.
__________________
misterdi<@>i.ua
|
|
|
|
28.07.2019, 12:08
|
|
Частый гость
Регистрация: 10.09.2009
Сообщений: 19
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Сообщение от MisterDi
|
А кто Вам сказал, что функция кодировки - линейная? Вполне взможно что у Вас 2 независимых параметра. При этом они могут быть зашифрованы каждый по своему алгоритму.
|
Ни кто, просто думал что подфартит.
И скорее всего, там нет не какого алгоритма, просто какая-то таблица
Одну закономерность алгоритма я все таки нашел,
если я переворачиваю биты 86 ячейки, bit swap, то получаю определённую закономерность:
ЕЕПРОМ: ячейка 86 -› 0x80 swap 0x01 на дисплеи 05 (мощность)
ЕЕПРОМ: ячейка 86 -› 0xA0 swap 0x05 на дисплеи 13 (мощность)
ЕЕПРОМ: ячейка 86 -› 0xD0 swap 0x0B на дисплеи 30 (мощность)
ЕЕПРОМ: ячейка 86 -› 0x88 swap 0x11 на дисплеи 44 (мощность)
я попытался рассчитать 09 (мощность), которую я в первом посте не указал, но она по документации существует.
по моей теории, на дисплеи должно было показать "09":
ЕЕПРОМ: ячейка 86 -› 0xC0 swap 0x03 на дисплеи 09 (мощность)
мне пришлось перебрать 06 ячейку и как только я попал -› 0хАА, только тогда дисплей показал мощность на "09".
короче если мне перебрать две ячейки полностью, то мне понадобиться:
65535 х 1 минуту / 60 минут = примерно 1000 часов
|
|
|
|
28.07.2019, 18:21
|
|
Частый гость
Регистрация: 11.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Ежели про мощность 55, то я бы наоборот в 86 ячейку закатал АА, а в 06 ячейку С0.
|
|
|
|
28.07.2019, 22:45
|
|
Прописка
Регистрация: 16.03.2007
Адрес: Невинномысск, STAVROPOL REGION (26)
Сообщений: 118
Сказал спасибо: 583
Сказали Спасибо 28 раз(а) в 15 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Сообщение от Gera82
|
по моей теории, на дисплеи должно было показать "09":
ЕЕПРОМ: ячейка 86 -› 0xC0 swap 0x03 на дисплеи 09 (мощность)
мне пришлось перебрать 06 ячейку и как только я попал -› 0хАА, только тогда дисплей показал мощность на "09".
|
А если в 6 ячейку вбить не 0xAA, а 0хAF, дисплей правильно показывает?
Че-то мне тоже интересно, хотя не знаю, что за кролик.
__________________
не хапнуть бы горя от безумия.
|
|
|
|
28.07.2019, 23:52
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Gera82, таки пока нет ничего в пользу какого-то шифрования. Наблюдаемое больше похоже на индексы в таблице или параметры во внутреннем формате (в условных попугаях ). Максимум в EEPROM может присутствовать контрольная сумма.
Есть ли доступ к самой прошивке? Может стоит немного анализом кода заняться?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
29.07.2019, 00:17
|
|
Частый гость
Регистрация: 10.09.2009
Сообщений: 19
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Сообщение от newleks
|
Ежели про мощность 55, то я бы наоборот в 86 ячейку закатал АА, а в 06 ячейку С0.
|
Не совсем
опять же по частичным расчетом 86 ячейки:
55 -› 06: 0x01 = 0000 0001 swap 1000 0000 = 0x80
86: 0xA8 = 1010 1000 swap 0001 0101 = 0x15
05 сила-›
06: 0x43 = 0100 0011 swap 1100 0010 = 0xC2
86: 0x80 = 1000 0000 swap 0000 0001 = 0x01
09 сила -›
06: 0xAA = 1010 1010 swap 0101 0101 = 0x55
06: 0x2A = 0010 1010 swap 0101 0100 = 0x54
86: 0xC0 = 1100 0000 swap 0000 0011 = 0x03
13 сила -›
06: 0x28 = 0010 1000 swap 0001 0100 = 0x14
86: 0xA0 = 1010 0000 swap 0000 0101 = 0x05
30 сила -›
06: 0x2A = 0010 1010 swap 0101 0100 = 0x54
86: 0xD0 = 1101 0000 swap 0000 1011 = 0x0B
44 сила -›
06: 0x0C = 0000 1100 swap 0011 0000 = 0x30
86: 0x88 = 1000 1000 swap 0001 0001 = 0x11
55 сила -›
06: 0x01 = 0000 0001 swap 1000 0000 = 0x80
86: 0xA8 = 1010 1000 swap 0001 0101 = 0x15
??? сейчас перебираю 06 ячейку
75 -› 06:
86: 0xE8 = 1110 1000 swap 0001 0111 = 0x17???
Сообщение от mike-y-k
|
[b]Gera82[/b Максимум в EEPROM может присутствовать контрольная сумма.
Есть ли доступ к самой прошивке? Может стоит немного анализом кода заняться?
|
К прошивке доступа нет, а вот контрольная сумма еепрома есть.
Сообщение от ArtemKolesnikov
|
А если в 6 ячейку вбить не 0xAA, а 0хAF, дисплей правильно показывает?
Че-то мне тоже интересно, хотя не знаю, что за кролик.
|
Нет, а вот 2а то да:
06: 0x2A = 0010 1010 swap 0101 0100 = 0x54
Последний раз редактировалось Gera82; 29.07.2019 в 00:22.
|
|
|
|
29.07.2019, 03:18
|
|
Прописка
Регистрация: 16.03.2007
Адрес: Невинномысск, STAVROPOL REGION (26)
Сообщений: 118
Сказал спасибо: 583
Сказали Спасибо 28 раз(а) в 15 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Значит, Ваше утверждение
Сообщение от Gera82
|
Одну закономерность алгоритма я все таки нашел
|
несколько поспешно. Нет еще никакой закономерности, если
Сообщение от Gera82
|
по моей теории, на дисплеи должно было показать "09"
|
, но оно не работает.
Нет смысла браться за другую ячейку, пока не найдена закономерность первой, или перебрать 65536 комбинаций обоих ячеек, включая 0,0 (а то вдруг при этих значениях на дисплее будет отображено 777)
Проще написать программку, на мегу8 например, которая сама будет "читать" дисплей и писать в еепром последовательно каждую ячейку (6,86). Значений не сильно то и много, это не 12-20 разрядов, к примеру.
Как я понимаю, получается система из двух уравнений с ТРЕМЯ неизвестными- 6, 86 и дисплей.
Если вообще не привязка каким-нибудь xor-ом к любой цифре серийного номера, который хранится в других ячейках...
ИМХО.
__________________
не хапнуть бы горя от безумия.
Последний раз редактировалось ArtemKolesnikov; 29.07.2019 в 03:38.
Причина: Дополн
|
|
|
|
29.07.2019, 09:33
|
|
Частый гость
Регистрация: 11.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Сообщение от ArtemKolesnikov
|
Значит, Ваше утверждение
несколько поспешно. Нет еще никакой закономерности, если
, но оно не работает.
Нет смысла браться за другую ячейку, пока не найдена закономерность первой, или перебрать 65536 комбинаций обоих ячеек, включая 0,0 (а то вдруг при этих значениях на дисплее будет отображено 777)
Проще написать программку, на мегу8 например, которая сама будет "читать" дисплей и писать в еепром последовательно каждую ячейку (6,86). Значений не сильно то и много, это не 12-20 разрядов, к примеру.
Как я понимаю, получается система из двух уравнений с ТРЕМЯ неизвестными- 6, 86 и дисплей.
Если вообще не привязка каким-нибудь xor-ом к любой цифре серийного номера, который хранится в других ячейках...
ИМХО.
|
В данном случае нет смысла рассматривать ячейки отдельно. Явно видно что значение в одной зависит от значения в другой.
Известна хотяб разрядность камня который обслуживает этот еепром? 8 бит или другое?
|
|
|
|
29.07.2019, 13:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: как найти алгоритм/дешифратор еепрома?
Цитата:
|
система из двух уравнений с ТРЕМЯ неизвестными
|
из этого следует, что однозначного решения подобная система не имеет. Если перебрать все 64К значений, то получится полная таблица истинности для функции кодирования. В качестве бонуса можно получить все допустимые варианты содержимого ячеек. Вариант с внешним МК изображающим из себя ЕЕПРОМ и "читающий" дисплей с фиксацией результата ИМХО самый быстрый вариант. При времени обработки одного варианта 10сек вполне можно уложиться в неделю времени.
__________________
misterdi<@>i.ua
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:31.
|
|