Сейчас на форуме: asfa, _MBK_, Adler, bartolomeo (+8 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Исследование алгоритма дешифровки прошивки |
Посл.ответ | Сообщение |
|
Создано: 29 августа 2012 16:31 · Поправил: Flasher-11 · Личное сообщение · #1 Приветствую всех ![]() Дешифровщик Code:
Code:
С некоторыми частями я разобрался, но начиная с 0040134C тут для меня абра-кадабра, отслеживал дамп, но так и не понял что там и к чему. Читает построчно по 16 символов с прошивки, помещает строчку отдельно и начинает над ней колдовать. Я не прошу решить все за меня, прошу подтолкнуть меня куда и что надо смотреть, что бы наконец-то понять алгоритм. ![]() |
|
Создано: 29 августа 2012 16:34 · Личное сообщение · #2 |
|
Создано: 29 августа 2012 17:02 · Поправил: reversecode · Личное сообщение · #3 |
|
Создано: 29 августа 2012 19:49 · Поправил: Flasher-11 · Личное сообщение · #4 |
|
Создано: 29 августа 2012 19:54 · Личное сообщение · #5 |
|
Создано: 31 августа 2012 20:24 · Поправил: Flasher-11 · Личное сообщение · #6 Ключ 176 байтный, на основе чего генерируется, я пока не узнал Code:
Далее, считываем по 16 байт из прошивки. Допустим S = 16 байт (2A99A280|46D06398|24A26204|931E0395) Берем из S(24A26204)-K(260DED00) = 17557B99 S(2A99A280)-K(D452798B) = 074FC42C Потом получаем строчку из 12 байт (931E0395|17557B99|074FC42C) Ну а дальше начинаются мат.вычисления и переколбашивание строки. Описывать я это здесь не буду, писал на листочке каждый шаг, получилось объемно. Но понять не могу пока, как записать этот алгоритм. --------------------- Veliant, Спасибо ![]() ![]() |
|
Создано: 31 августа 2012 22:35 · Личное сообщение · #7 Сначала идет стандартная генерация RC5 с константами 0xB7E15163 и 0x61C88647, а вот потом полученный массив модифицируется в зависимости от типа прошивки. 1)прошивка с хидером IMAGEWTY. Временный массив заполняется WORD'ами (L'i') 2)Прошивка пошифрована и выполняется дважды декодирование. Первый раз с заливкой временного буффера word'ом (L'm'), второй раз (L'g'); Собственно само алго по модификации ключей rc5 находится в 004015A4 и выглядит так Code:
где bufKey - генерится по алго rc5, а dword_405040 - временный буффер. Вот этот код тебе и нужно привести к нормальному виду ну а функция 004014F4 выполняет encrypt/decrypt в зависимости от последнего параметра ![]() |
|
Создано: 07 сентября 2012 01:27 · Личное сообщение · #8 Было время разобрал алгоритм модификации ключей, писал на C# Пошел дальше, насколько я правильно понял 1)Прошивка с хидером IMAGEWTY. Временный массив заполняется WORD'ами (L'i') - то мы шифруем этим ключом прошивку 2)Прошивка пошифрована и выполняется дважды декодирование. Первый раз с заливкой временного буффера word'ом (L'm'), второй раз (L'g') - Первый раз дешифруем ключом с (L'm'), а второй раз дешифруем с (L'g'). Верно ли? ![]() |
|
Создано: 09 сентября 2012 22:16 · Личное сообщение · #9 |
![]() |
eXeL@B —› Вопросы новичков —› Исследование алгоритма дешифровки прошивки |
Эта тема закрыта. Ответы больше не принимаются. |