Сейчас на форуме: Rio, johnniewalker, vsv1, Magister Yoda (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› Помогите опознать блочный алгоритм |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 19 июля 2011 12:37 · Личное сообщение · #1 Столкнулся с реализацей алгоритма, непонятно что-то стандартное или кастом: Ключ: 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 алгоритм расширения ключа такой: [code] key: array[0..7] of byte = ( $30, $31, $32, $33, $34, $35, $36, $37 ); for j:=0 to 7 do begin //calc 4 bytes of expanded key array for i:=0 to 3 do a:=key[i*2+1]+(key[i*2]+key[i*2] shl 2) shl 1; //rotate key buffer to one byte right // 01234567 // 12345670 // 23456701 // 34567010 tmp:=key[7]; key[7]:=key[6]; key[6]:=key[5]; key[5]:=key[4]; key[4]:=key[3]; key[3]:=key[2]; key[2]:=key[1]; key[1]:=key[0]; key[0]:=tmp; end; [/code] результат: [code]Expanded key: keyexpanded: array[0..31] of byte = ( $11, $27, $3D, $53, $56, $1C, $32, $48, $53, $11, $27, $3D, $48, $56, $1C, $32, $3D, $53, $11, $27, $32, $48, $56, $1C, $27, $3D, $53, $11, $1C, $32, $48, $56 ); [/code] дальше 8 раундов XOR побайтно с расширенным ключом |
|
Создано: 19 июля 2011 12:51 · Личное сообщение · #2 |
|
Создано: 19 июля 2011 13:02 · Поправил: supaplex · Личное сообщение · #3 жертва под TMS процессор, на данный момент этот кусок получилось оттрейсить, работает идентично родному. Т.е. на входе 8 байт, + ключ 8 байт, попробую раунды тоже перевести в удобоваримое. Подобный алгоритм расширения ключа не нашел ни в одном примере. Он простенький вроде, никаких sbox и т.п. возможно на Feal похоже. Левый и правый dword xorятся с данными ключа. |
|
Создано: 19 июля 2011 13:57 · Поправил: Av0id · Личное сообщение · #4 |
|
Создано: 04 августа 2011 21:23 · Поправил: Kiev78 · Личное сообщение · #5 |
|
Создано: 05 августа 2011 13:25 · Поправил: Kiev78 · Личное сообщение · #6 |
|
Создано: 05 августа 2011 13:44 · Личное сообщение · #7 |
|
Создано: 05 августа 2011 13:51 · Личное сообщение · #8 |
|
Создано: 05 августа 2011 14:10 · Поправил: Kiev78 · Личное сообщение · #9 |
|
Создано: 05 августа 2011 16:02 · Личное сообщение · #10 |
|
Создано: 05 августа 2011 16:19 · Поправил: Kiev78 · Личное сообщение · #11 |
|
Создано: 05 августа 2011 17:26 · Личное сообщение · #12 |
|
Создано: 05 августа 2011 18:53 · Поправил: Kiev78 · Личное сообщение · #13 |
|
Создано: 05 августа 2011 18:55 · Поправил: Kiev78 · Личное сообщение · #14 |
|
Создано: 05 августа 2011 20:30 · Личное сообщение · #15 Все таки это умножение, не поленился скопипастил функу в С и умножил __long_mul(sizeof(A), A, AB, 2); 0x123456789ABCDEF0 * 2 = 0x2468ACF13579BDE0 можно проверить виндовским калькулятором 25f8_05.08.2011_EXELAB.rU.tgz - long_mul.RAR ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 05 августа 2011 20:33 · Поправил: reversecode · Личное сообщение · #16 |
|
Создано: 05 августа 2011 20:43 · Личное сообщение · #17 |
|
Создано: 05 августа 2011 20:48 · Поправил: Kiev78 · Личное сообщение · #18 |
|
Создано: 05 августа 2011 20:50 · Личное сообщение · #19 |
|
Создано: 05 августа 2011 21:18 · Поправил: reversecode · Личное сообщение · #20 |
|
Создано: 05 августа 2011 21:38 · Поправил: Kiev78 · Личное сообщение · #21 |
|
Создано: 05 августа 2011 21:45 · Личное сообщение · #22 aes да, но у вас программа не разобрана, мне ковырятся не хочется поэтому утверждать ничего не берусь смотрите что происходит после перевода base64 хеша, в бинарный формат там поидеи стоит rsa_decrypt после чего получаете ключ, и далее в том ключе все остальные данные если окажется rsa, то можете смело забить на программу там кстати может стоять не сразу rsa, а тот же aes а потом rsa вообщем ida в помощь |
|
Создано: 05 августа 2011 21:51 · Личное сообщение · #23 |
|
Создано: 05 августа 2011 22:23 · Поправил: reversecode · Личное сообщение · #24 sub_404310 очень похоже на rsa_decrypt она же вызывается в двух процедурах где одна из них sub_40D670(read license?) разбирает base64, переводит его в бинари формат, дексорит со статик буффером byte_4ED2D5, деАесит sub_401720(aessetkey),sub_401910(aesdecrypt) и потом вызывается sub_404310 ну итд там же в процедуре и набивание статик массивов, или rsa кей или еще какие, размерность одного 156 байт ой не думаю что там в итоге маленкая длинна ключа если там же есть еще одна реализация rsa1, где длинна ключа похожа на 268 байт(статик масив в hasp_login) без полного разбора всего функционала работы с ключем .. |
|
Создано: 14 августа 2011 05:44 · Поправил: Kiev78 · Личное сообщение · #25 |
|
Создано: 14 августа 2011 06:23 · Личное сообщение · #26 |
|
Создано: 14 августа 2011 08:33 · Личное сообщение · #27 Kiev78 как по мне рса тут нет, Isaev прав. РСА и длиннее и нет тут характерных для него тестов бит (если быстрая реализация рса) по поводу последнего цикла и контроль црц думаю ты прав. а вот первые цикл больше похош на складывание/отнимание одной строки(исходный текст) из дргой (ключ расшифровки) ниче стандартного в глаза не бросаеца ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 14 августа 2011 09:53 · Личное сообщение · #28 |
|
Создано: 14 августа 2011 11:37 · Личное сообщение · #29 |
|
Создано: 14 августа 2011 12:26 · Поправил: Kiev78 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Крэки, обсуждения —› Помогите опознать блочный алгоритм |