Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить алгоритм шифроватия кода? 
:(
    Опции темы
Serg777
Дата 26.8.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.9.2006

Репутация: нет
Всего: нет



В прикрепленном файле 2 куска кода, один дешифруется в другой и нааоборот.
Оригинальный дешифратор написан на ассемблере.
Скорее всего кодирование делается через XOR но кодовый байт или скорее байты (скорее всего 2) с каждым байтом кода сдвигаются или что-то еще с ними делается.

Для наглядности вот отрывки кода:
Код

45 04 66 C8 DE 5F 27 75 0A 21 E5 3E F3 64 69 A9
9C 58 58 F7 04 1A C7 9C 47 A2 59 2F F8 B2 34 7D
45 F7 48 7B 5B 58 E1 37 E8 AF 78 2A 7B E1 74 18

Код

0C 94 C8 00 0C 94 1B 01 0C 94 2F 01 0C 94 E3 00
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 00
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 00


Для наглядности вот отрывки кода:
Вообщем, нужно найти алгоритм шифрования и дешифрования.

Это возможно?
Может еще знаете как?


Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  code.rar 8,17 Kb
PM MAIL   Вверх
skyboy
Дата 26.8.2011, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



учитывая, что абсолютно разные значения транслируются в одинаковые.
учитывая, что одни и те же значения появляются в одних и тех же местах, абсолютно не зависимо от исходных данных.
предполагаю, что либо умышленно добавлен шум(стеганография). в таком случае, объем "шифра" должен оказаться значительно больше объема исходных данных.
либо алгоритм шифрования сбойнул и необратимо разрушил данные.

PM MAIL   Вверх
Serg777
Дата 26.8.2011, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.9.2006

Репутация: нет
Всего: нет



Шифрование идет байт в байт!
Вот исходный кусок Шифрование идет байт в байт!

Код

F3 68 BF 7A BB 94 B1 59 52 91 85 FE 73 D2 05 70 
2E 3D 93 61 28 42 77 FC 87 22 EF 43 21 00 51 B6
D3 DB 10 CB 3B 98 61 81 84 76 CA 4F B0 77 58 40
0E 32 FF 57 1E 49 8C 38 C1 59 FC A5 4D B1 BF A8
61 E7 96 21 06 F0 DC A5 7A C5 3E C0 3D B5 DD AC
4E 73 5F 45 33 ED 36 68 DD 6A B2 08 93 A7 BE 05
95 EE 91 07 44 79 68 0E F8 29 27 4B 45 A6 0A 5A
C1 9D D5 42 80 75 49 1E 09 2A D5 41 D7 2F 96 1B

шифруется в
Код

0C 94 C8 00 0C 94 1B 01 0C 94 2F 01 0C 94 E3 00
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 00
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 00
0C 94 E3 00 0C 94 E5 00 0C 94 E3 00 0C 94 E3 00
0C 94 E3 00 0C 94 1E 17 0C 94 E3 00 0C 94 B9 19
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 19
0C 94 E3 00 0C 94 E3 00 0C 94 E3 00 0C 94 E3 00
00 EA 28 3A 50 1D B7 58 DB 11 60 0E E2 C1 41 D8
80 2C 70 3F B0 B3 D7 58 BE C2 42 8D FB B2 B6 9F


В старом алгоритме байт получался от результата XOR с числом ХХ.
Это число ХХ менялось сдвигом в его другого числа YY, при этом в YY сдвигались нули.
Как ХХ равняется нулю, тогда ХХ и YY снова принимают первоначальное значения.

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

PM MAIL   Вверх
Serg777
Дата 28.8.2011, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.9.2006

Репутация: нет
Всего: нет



Если предположить что каждое число кодируется и соответственно востанавливается через XOR, то вот изменение этого числа.
Код

0C ^ F3 FF 11111111
94 ^ 68 FC 11111100
C8 ^ BF 77 01110111
00 ^ 7A 7A 01111010
0C ^ BB B7 10110111
94 ^ 94 00 00000000
1B ^ B1 AA 10101010
01 ^ 59 58 01011000
0C ^ 52 5E 01011110
94 ^ 91 05 00000101
2F ^ 85 AA 10101010
01 ^ FE FF 11111111
0C ^ 73 7F 01111111
94 ^ D2 46 01000110
E3 ^ 05 E6 11100110
00 ^ 70 70 01110000
0C ^ 2E 22 00100010
94 ^ 3D A9 10101001
E3 ^ 93 70 01110000
00 ^ 61 61 01100001
0C ^ 28 24 00100100
94 ^ 42 D6 11010110
E3 ^ 77 94 10010100
00 ^ FC FC 11111100
0C ^ 87 8B 10001011
94 ^ 22 B6 10110110
E3 ^ EF 0C 00001100
00 ^ 43 43 01000011
0C ^ 21 2D 00101101
94 ^ 00 94 10010100
E3 ^ 51 B2 10110010
00 ^ B6 B6 10110110
0C ^ D3 DF 11011111
94 ^ DB 4F 01001111
E3 ^ 10 F3 11110011
00 ^ CB CB 11001011
0C ^ 3B 37 00110111
94 ^ 98 0C 00001100
E3 ^ 61 82 10000010
00 ^ 81 81 10000001
0C ^ 84 88 10001000
94 ^ 76 E2 11100010
E3 ^ CA 29 00101001
00 ^ 4F 4F 01001111
0C ^ B0 BC 10111100
94 ^ 77 E3 11100011
E3 ^ 58 BB 10111011
00 ^ 40 40 01000000
0C ^ 0E 02 00000010
94 ^ 32 A6 10100110
E3 ^ FF 1C 00011100
00 ^ 57 57 01010111
0C ^ 1E 12 00010010
94 ^ 49 DD 11011101
E5 ^ 8C 69 01101001
00 ^ 38 38 00111000
0C ^ C1 CD 11001101
94 ^ 59 CD 11001101
E3 ^ FC 1F 00011111
00 ^ A5 A5 10100101
0C ^ 4D 41 01000001
94 ^ B1 25 00100101
E3 ^ BF 5C 01011100
00 ^ A8 A8 10101000
0C ^ 61 6D 01101101
94 ^ E7 73 01110011
E3 ^ 96 75 01110101
00 ^ 21 21 00100001
0C ^ 06 0A 00001010
94 ^ F0 64 01100100
C1 ^ DC 1D 00011101
17 ^ A5 B2 10110010
0C ^ 7A 76 01110110
94 ^ C5 51 01010001
E3 ^ 3E DD 11011101
00 ^ C0 C0 11000000
0C ^ 3D 31 00110001
94 ^ B5 21 00100001
67 ^ DD BA 10111010
1A ^ AC B6 10110110
0C ^ 4E 42 01000010
94 ^ 73 E7 11100111
E3 ^ 5F BC 10111100
00 ^ 45 45 01000101
0C ^ 33 3F 00111111
94 ^ ED 79 01111001
E3 ^ 36 D5 11010101
00 ^ 68 68 01101000
0C ^ DD D1 11010001
94 ^ 6A FE 11111110
E3 ^ B2 51 01010001
00 ^ 08 08 00001000
0C ^ 93 9F 10011111
94 ^ A7 33 00110011
91 ^ BE 2F 00101111
1A ^ 05 1F 00011111
0C ^ 95 99 10011001
94 ^ EE 7A 01111010
E3 ^ 91 72 01110010
00 ^ 07 07 00000111
0C ^ 44 48 01001000
94 ^ 79 ED 11101101
E3 ^ 68 8B 10001011
00 ^ 0E 0E 00001110
0C ^ F8 F4 11110100
94 ^ 29 BD 10111101
E3 ^ 27 C4 11000100
00 ^ 4B 4B 01001011
0C ^ 45 49 01001001
94 ^ A6 32 00110010
E3 ^ 0A E9 11101001
00 ^ 5A 5A 01011010
00 ^ C1 C1 11000001
EA ^ 9D 77 01110111
28 ^ D5 FD 11111101
3A ^ 42 78 01111000
50 ^ 80 D0 11010000
1D ^ 75 68 01101000
B7 ^ 49 FE 11111110
58 ^ 1E 46 01000110
DB ^ 09 D2 11010010
11 ^ 2A 3B 00111011
60 ^ D5 B5 10110101
0E ^ 41 4F 01001111
E2 ^ D7 35 00110101
C1 ^ 2F EE 11101110
41 ^ 96 D7 11010111
D8 ^ 1B C3 11000011


Нужно найти закономерность как это число изменяется, может это свызанно с кодируемими или декодируемыми числами...
PM MAIL   Вверх
shara
Дата 30.8.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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 такое сделать, пускай и ос сдвигом... ну лично я затрудняюсь представить такой алгоритм  smile 



Вы попробуйте расшифровать только что зашифрованный вами текст...


Скорей  всего ЛИБО рассматриваемый Вами алгоритм не является алгоритмом шифрования, ибо как он(алгоритм) должен обеспечивать однозначное преобразование ТО -> ТШ и соответственно ТШ -> ТО
ЛИБО Вы учли не все условия работы шифиратора. 



--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
voral
Дата 31.8.2011, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.3.2008
Где: Иваново

Репутация: нет
Всего: нет



А вы знаете, что содержит шифруемый кусок? Вы его сами формируете или это "выхлоп" некой софтины? Может там уже "шум" или может реальные данные только в 8 и 9 строках


Это сообщение отредактировал(а) voral - 31.8.2011, 10:07
PM MAIL WWW   Вверх
Serg777
Дата 31.8.2011, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.9.2006

Репутация: нет
Всего: нет



Это прошивка микроконтролера АТМега 162.
Тот кусок кода, что начинается на 0C 94 и есть прошивка находящяяся во флеше.
Микроконтролер может себя сам обновлять, для этого и передается второй кусок кода.
Микроконтролер через СОМ Порт принимает зашифрованную прошивку расшифровывает ее (скорее всего это делается кусками по 128 байт) и прошивает себя сам новой прошивкой.
При этом программа, которая работает в микроконтролере и обеспечивает прошивку не обновляется и ее размер 512 байт.
В 512 байт уложена программа для Инициализации, обновления, поднятия СОМ порта, работа с таймерами и ...
Т.е. места для большой маски, или сложной технологии шума просто нет!

Раньше кодирование было до безобразия простое:
Код

0C ^ BA B6 10110110
94 ^ F8 6C 01101100
C8 ^ 11 D9 11011001
00 ^ B2 B2 10110010
0C ^ 69 65 01100101
94 ^ 5F CB 11001011
1B ^ 8D 96 10010110
01 ^ 2D 2C 00101100
0C ^ 54 58 01011000
94 ^ 24 B0 10110000
2F ^ 4F 60 01100000
01 ^ C1 C0 11000000
0C ^ 8C 80 10000000
94 ^ 22 B6 10110110
E3 ^ 8F 6C 01101100
00 ^ D9 D9 11011001
0C ^ BE B2 10110010
94 ^ F1 65 01100101
E3 ^ 28 CB 11001011
00 ^ 96 96 10010110
0C ^ 20 2C 00101100
94 ^ CC 58 01011000
E3 ^ 53 B0 10110000
00 ^ 60 60 01100000
0C ^ CC C0 11000000
94 ^ 14 80 10000000


А сейчас у меня уже нет идей...
Надеюсь на великих Гуру!

PM MAIL   Вверх
shara
Дата 31.8.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



Если я Вас правильно понял, то программа обновления не менялась а поменялись только входные данные. Значить вы чего-то не учли, и программа которая обновляет прошивку микроконтроллера берет данные для ключа еще откудато. 
 


Цитата(Serg777 @  31.8.2011,  09:31 Найти цитируемый пост)
Тот кусок кода, что начинается на 0C 94 и есть прошивка находящяяся во флеше.

а он вообще рабочий?


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Serg777
Дата 31.8.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.9.2006

Репутация: нет
Всего: нет



Цитата(shara @ 31.8.2011,  14:58)
Если я Вас правильно понял, то программа обновления не менялась а поменялись только входные данные. Значить вы чего-то не учли, и программа которая обновляет прошивку микроконтроллера берет данные для ключа еще откудато. 

а он вообще рабочий?

В том то и дело, что уже давненько новые приборы идут с новыми этими 512 байтами, которые осущетвляют декодирование, и которые я никак увидить нигде не могу...
А прошивка рабочяя.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.