![]() |
|
|
![]()
|
|
| Serg777 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
В прикрепленном файле 2 куска кода, один дешифруется в другой и нааоборот.
Оригинальный дешифратор написан на ассемблере. Скорее всего кодирование делается через XOR но кодовый байт или скорее байты (скорее всего 2) с каждым байтом кода сдвигаются или что-то еще с ними делается. Для наглядности вот отрывки кода:
Для наглядности вот отрывки кода: Вообщем, нужно найти алгоритм шифрования и дешифрования. Это возможно? Может еще знаете как? Присоединённый файл ( Кол-во скачиваний: 1 )
code.rar 8,17 Kb |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
учитывая, что абсолютно разные значения транслируются в одинаковые.
учитывая, что одни и те же значения появляются в одних и тех же местах, абсолютно не зависимо от исходных данных. предполагаю, что либо умышленно добавлен шум(стеганография). в таком случае, объем "шифра" должен оказаться значительно больше объема исходных данных. либо алгоритм шифрования сбойнул и необратимо разрушил данные. |
|||
|
||||
| Serg777 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
Шифрование идет байт в байт!
Вот исходный кусок Шифрование идет байт в байт!
шифруется в
В старом алгоритме байт получался от результата XOR с числом ХХ. Это число ХХ менялось сдвигом в его другого числа YY, при этом в YY сдвигались нули. Как ХХ равняется нулю, тогда ХХ и YY снова принимают первоначальное значения. В новом алгоритме шифрование тоже идет байт в байт, без дополнительной информации. Но в новом алгоритме я не увидел закономерностей. |
||||
|
|||||
| Serg777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
Если предположить что каждое число кодируется и соответственно востанавливается через XOR, то вот изменение этого числа.
Нужно найти закономерность как это число изменяется, может это свызанно с кодируемими или декодируемыми числами... |
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Я поддерживаю пост skyboy
в приведенном Вами примере шифрованного текста (ТШ): 0C 94 C8 00 0C 94 из первой строки И 0C 94 C8 00 0C 94 из второй строки соотвествуют АБСОЛЮТНО разным данным из открытого текста (ТО): F3 68 BF 7A BB 94 и 2E 3D 93 61 28 42 соответсвенно. простым ХОR такое сделать, пускай и ос сдвигом... ну лично я затрудняюсь представить такой алгоритм Вы попробуйте расшифровать только что зашифрованный вами текст... Скорей всего ЛИБО рассматриваемый Вами алгоритм не является алгоритмом шифрования, ибо как он(алгоритм) должен обеспечивать однозначное преобразование ТО -> ТШ и соответственно ТШ -> ТО ЛИБО Вы учли не все условия работы шифиратора. -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| voral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
А вы знаете, что содержит шифруемый кусок? Вы его сами формируете или это "выхлоп" некой софтины? Может там уже "шум" или может реальные данные только в 8 и 9 строках
Это сообщение отредактировал(а) voral - 31.8.2011, 10:07 |
|||
|
||||
| Serg777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
Это прошивка микроконтролера АТМега 162.
Тот кусок кода, что начинается на 0C 94 и есть прошивка находящяяся во флеше. Микроконтролер может себя сам обновлять, для этого и передается второй кусок кода. Микроконтролер через СОМ Порт принимает зашифрованную прошивку расшифровывает ее (скорее всего это делается кусками по 128 байт) и прошивает себя сам новой прошивкой. При этом программа, которая работает в микроконтролере и обеспечивает прошивку не обновляется и ее размер 512 байт. В 512 байт уложена программа для Инициализации, обновления, поднятия СОМ порта, работа с таймерами и ... Т.е. места для большой маски, или сложной технологии шума просто нет! Раньше кодирование было до безобразия простое:
А сейчас у меня уже нет идей... Надеюсь на великих Гуру! |
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Если я Вас правильно понял, то программа обновления не менялась а поменялись только входные данные. Значить вы чего-то не учли, и программа которая обновляет прошивку микроконтроллера берет данные для ключа еще откудато.
а он вообще рабочий? -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Serg777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 2.9.2006 Репутация: нет Всего: нет |
В том то и дело, что уже давненько новые приборы идут с новыми этими 512 байтами, которые осущетвляют декодирование, и которые я никак увидить нигде не могу... А прошивка рабочяя. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |