Сейчас на форуме: asfa, vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Старый hasplms и v2c
Посл.ответ Сообщение

Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 22 декабря 2015 22:21 · Поправил: connect6
· Личное сообщение · #1

Здравствуйте. Копаю потихонечку hasplms с дров 5.40 (2008 г.) под вин2к. Выбрал первую версию дров, в которой появилась поддержка в2ц апдейтов с надеждой, что там обфускация уступает современным дров хаспа. Цель: понять насколько возможно формат в2ц апдейтов и уметь (даже неполностью) дешифрировать их. Читал, что подпись там рса 1024 стоит и изменений нельзя делать, цель только дешифровать в2ц, не вносить в них изменений. Любая помощь будет полезной.
В бизнесстудию олядина сгенерировал себе маленький в2ц апдейт для демо ключа и подаю его hasplms. До фазе "заливки" апдейта в хаспе даже пока нет надобности доходить. Ошибка ненайденного хаспа вполне хватает. Отлаживаю старым софтайсом (с iceext .7), но и софтайс палится в некоторых местах, пока терплю, так как я далеко вообще от понимания, что с в2ц творится. Возможно даже в2ц на самом деле код для ВМ?
Не смотря на обфускацию добрался до первого места где после base64 дешифрования уже hex бафер обрабатывается (правда, не совсем последовательно, а с каким-то "танго" шагом):

cs:41BCF0 mov byte ptr eax, [ecx+eax] ;eax - buffer offset

Линк к древним дровам хаспа, с вопросным hasplms:

http://www.cadshop.ru/drivers/HASPDINST_5.40.exe

Тестовой в2ц:
4779_22.12.2015_EXELAB.rU.tgz - HaspUpdate_8_1265521214.v2c



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 22 декабря 2015 22:42 · Поправил: MasterSoft
· Личное сообщение · #2

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

Ещё раз повторюсь, что не знаю как там в хаспе, но если есть доступ к тулзе генерации обнов, то рекомендую начать с неё и посмотреть как они собственно собираются.

Вместо айса есть ещё сиська (которая кстати умерла, что несколько раздражает).



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 22 декабря 2015 22:59 · Поправил: connect6
· Личное сообщение · #3

"Доступ к тулзе генерации обнов" есть у каждого - она общедоступная, но слишком объемная...И на 99% уверен, что оня пользует тот же самый hasplms для синтеза в2ц...Окончательное аес дешифрование происходит в самом хаспе, но интересен формат в2ц.

Смотрю дальше происходит что-то вроде SHA1. Начало очередных 64 байтов - CS:452C91. На тот момент ebx счетчик оставшися блоков по 64 байт, а на вершине стека - указатель к (очередному) блоку из 64 байт. Где-то 20 байтов выше данного блока находится буфер хаша 20 байтов 01 23 45 67 89 AB CD EF FE DC.... В первых раундов как в доках sha1 проходит и через

CS:51C598 LEA EBX, [EDX+EBX+5A827999] - константа знакомая ;)



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 25 декабря 2015 15:13 · Поправил: connect6
· Личное сообщение · #4

К сожалению хеш первого блока байтов (14h*40h, в файле по адресу 4 до 503h) не соответствут ни SHA1 , ни SHA0... На выходе

CS:4E7847 DEC EBX ; (ebx=0 - нет больше блоков по 64 байт)

F9 E1 01 FE 53 54 08 E4 A3 36 D8 39 C3 9B EC CF 0C EC 1A 07

Либо позже еще немножко обрабатывается до:

00 0C 77 1A 89 09 84 95 3C 06 A1 86 0B 3E F8 73 72 C4 74 54

Для удобства приаттачил base64 дешифрованный v2c файл.

cfcc_25.12.2015_EXELAB.rU.tgz - base64_demomyupdate.bin

Добавлено спустя 12 часов 20 минут
Не обращая полного внимания на хеш функу (изменении в в2ц вносить не собираюсь), продвигаюсь дальше один, хотя уверен, что некоторые из вас давно уже разобрались с в2ц. 540 байт в2ц от смещению 1А (16 31 10 84 F4...) с помощью XOR преобразования преобразуются в приаттатченном блоке. Длина и начало преобразования еще не исследованы. Внутри заметен публичный РСА 1536 ключ с експоненты.

5861_26.12.2015_EXELAB.rU.tgz - decoded.bin



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 26 декабря 2015 13:37 · Поправил: connect6
· Личное сообщение · #5

Другой WORD хеш вычисляется для 13 байтов, начиная с адреса 12h (94 DE 5E F3 D9 CB 00 00 1A 02 00 00 60). Байты от адреса 1А (1A 02...) уже декодированы с функцией, упомянутой в прежнем посте. WORD по адресу 18h (BDC6) на самом деле хеш вопросных 13 байтов. Но при его вычислением заменена на 0000. Хеш вычисляется CS:497399 и проверяется здесь:

CS:540D8A CMP SI,AX



Ранг: 12.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 27 декабря 2015 12:35
· Личное сообщение · #6

Такой же вопрос по девелоп блоку - ктонить знает как из него вытащить пароли хаспа ?
И научится декриптить и назад энкриптить



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 27 декабря 2015 13:08 · Поправил: connect6
· Личное сообщение · #7

sfinks_2002
Наверное имеешь ввиду vendor code:
http://rengteam.blogspot.is/2013/09/aladdin-hasp-hl-sentinel-srm-vid-tools.html

Добавлено спустя 6 часов 13 минут
Возвращаюсь к пока неизвестной SHA- подобной хеш функцией, так как опять с ней вычисляется хеш от (см. файл decoded.bin) смещению 44h (A7 81 ....) длиною в C0 байтов. Обращая внимания на вот такую константу:

CS:498EEF LEA EDX,[ [ECX+EDX+50A28BE6]

допустил, что возможно на самом деле это RIPEMD-160, но хеш опять не соответствует Если не тот, то на этот раз выскакивает ошибка:

Attach/Update failed.
Error Description: HASP_INV_UPDATE_DATA
Required XML tags not found
Contents in binary data are missing or invalid
Error Code: 19

Хеш данного блока 0F 80 E7 08 1B CD F9 E2 EB 8E 62 2A FA 68 90 CA 02 CC 11 2C.



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 28 декабря 2015 10:05
· Личное сообщение · #8

connect6

Информация в дешифрованном файле структурирована по стандарту ASN.1
Сначала с этим надо разобраться , а потом уже хеши искать .

| Сообщение посчитали полезным: connect6

Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 28 декабря 2015 21:53 · Поправил: connect6
· Личное сообщение · #9

СПАСИБО!!! Наводка классная!!! И все же с этими hex блоками надо разбираться, но теперь ясно где они находятся и каков их размер.



Ранг: 128.8 (ветеран), 21thx
Активность: 0.060.05
Статус: Участник

Создано: 29 декабря 2015 15:20
· Личное сообщение · #10

Все это бесполезные телодвижения ... Информация подписана длинным RSA ключом . Тут или брутфорс хеша или брутфорс RSA нужны . Смысл всей этой эпопеи ? Никакого .



Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 29 декабря 2015 17:31
· Личное сообщение · #11

если мне не изменяет память, то RSA или 512 или 1024

-----
...или ты работаешь хорошо, или ты работаешь много...




Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 29 декабря 2015 18:53
· Личное сообщение · #12

Hugo Chaves
Говорят, что аес ключи обновляемых с в2ц фич находятся как раз в в2ц файлах. И еще - существует хасп сл и он на 100% описывается в2ц.

Добавлено спустя 3 минуты
BfoX
В исследуемом в2ц есть неизвестно пока для чего зашифрованный публичный рса 1536 ключ, файл приводил выше.



Ранг: 42.2 (посетитель), 42thx
Активность: 0.040
Статус: Участник

Создано: 29 декабря 2015 20:06
· Личное сообщение · #13

connect6 пишет:
Говорят, что аес ключи обновляемых с в2ц фич находятся как раз в в2ц файлах.


фичи покрипчены вендор ключем , который не покидает самого ключа ни при каких процедурах . Фича раскрипчиавается в ключе этим вендор ключем , потом криптиться индивидуальным ключем и пишется в еепром .
хотите раскриптить в2с - читайте ключ . иначе наверное никак



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 29 декабря 2015 20:18 · Поправил: connect6
· Личное сообщение · #14

Где в приведенном в2ц фичи пусть и в покрипченном виде? Если у данного вендора есть и хасп СЛ, то разве нельзя извлечь ключ для фич из СЛ-а?



Ранг: 42.2 (посетитель), 42thx
Активность: 0.040
Статус: Участник

Создано: 29 декабря 2015 20:19 · Поправил: kid
· Личное сообщение · #15

за СЛ не скажу , говорю про HL ключи . Под вендор ключем имею ввиду ключ уникальный для вендора .
При том что этих вендор ключей множество для различных процедур.



Ранг: 10.2 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 29 декабря 2015 20:27
· Личное сообщение · #16

Если знать ключей (для фич в в2ц, и в епроме), то после декрипта фича 1:1 совпадает и в в2ц и в епроме? По какому адресу в прошивке ключ для фич из в2ц?


 eXeL@B —› Вопросы новичков —› Старый hasplms и v2c
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати