Сейчас на форуме: (+7 невидимых) |
eXeL@B —› Протекторы —› ASProtect 1.X - регфайл с HardwareID |
Посл.ответ | Сообщение |
|
Создано: 19 августа 2011 18:11 · Личное сообщение · #1 Здравствуйте, скажите, а где-нибудь описана структура сабжа? Интересует сам принцип наложения HardwareID на алгоритм дешифрования RSA. Насколько я понимаю, публичный ключ от хвида не зависит, иначе надо было бы учитывать его при запаковке проги, а раз так, то хвид как-то дополнительно накладывается при распаковке публичным ключом. Публичный ключ зашифрован хвидом или как-то так? Чтобы доказать, что я внимательно просмотрел весь форум, привожу ссылку Если это важно, то интерес к сабжу чисто образовательный, в данный момент никакую кокретную софтину не ломаю. Заранее спасибо. |
|
Создано: 20 августа 2011 06:25 · Личное сообщение · #2 HardwareID в аспре сделан лоховски. У ключа есть цифровая подпись. Ключ состоит в своей бинарной (если хотите, информационной) сути из константы шифрования, параметров и HardwareID. Т.е. он банально проверяется на соответствие и не влияет на расшифровку данных программы (если шифрование вообще имело место). Для 2.x у меня есть детализация по структуре ключа, но это уже не по сабжу. До 1.x не дошли руки. |
|
Создано: 20 августа 2011 07:23 · Личное сообщение · #3 Спасибо за ответ! Если так, то что ж тут такого уж лоховского? Когда прога шифруется, никакого хвида нет в наличии. Иначе им надо было бы каждую копию шифровать отдельно, а это очень неудобно. Можно, если у тебя выделенный сервер для этого есть. А с пхп да майскулом этого не сделать. Или есть очевидное более "правильное" решение? Можно, конечно, попробовать шифровать публичный ключ хвидом и вставлять его в рег файл, но такую фишку тоже, наверное, можно просечь. Так что ничего лучше ЦП и я не вижу... тоже лох, наверное... Если в 2.Х принцип наложения хвида тот же (чисто сравнение), то тема, видимо, закрыта. А если там другой принцип, то, если возможно, приведите, пожалуйста, структуру и принцип наложения ключа с хвид. -Спасибо. |
|
Создано: 20 августа 2011 08:55 · Личное сообщение · #4 Ну в арме если у меня нет хвида, то имея валидный серийник и регистрационное имя ничего сделать нельзя (ну, если не учитывать другие дыры). Они там в ключ зашивают HWID xor SymmetricKey, т.е. не имея HWID симметричный ключ из серийника выдрать невозможно. Так что схема у аспра все-таки лоховская. Думаю, лучше кто-нибудь еще напишет конкретно по 1.x. Я серьезно занимался только 2-ой версией прота. |
|
Создано: 20 августа 2011 13:53 · Поправил: PE_Kill · Личное сообщение · #5 int ты не прав ща клаву куплю отпишусь Купил клаву int пишет: Т.е. он банально проверяется на соответствие и не влияет на расшифровку данных программы (если шифрование вообще имело место). Это не верно, HWID туда вообще не зашивается. Если ключ не привязан к железу, то формируется буфер, туда записываются данные типа имени юзера, организация и прочее, потом этот буфер шифруется RSA. Если ключ привязан к железу, то буфер сначала шифруется HWID'ом (XOR подобным алгоритмом), а потом только шифруется RSA. Шифрование кода тут не при чем, не имея HWID мы не сможем расшифровать буфер и не сможем вытащить из буфера 10 байтный ключ дешифрования кода. Имея валидный ключ на другое железо, но не имея HWID этого железа, HWID можно сбрутфорсить, у меня есть наработки по этому делу. Но там чистая эвристика и не большая дыра в алго шифрования, поэтому наработки сырые и я их не выкладываю. Да и ситуация такая встречается ОЧЕНЬ редко. Awak00m пишет: Если в 2.Х принцип наложения хвида тот же (чисто сравнение), то тема, видимо, закрыта. В 2.x всё еще сложнее. Вот тут я выкладывал псевдокод для 2.x версии: http://exelab.ru/f/action=vthread&forum=13&topic=11596&page=35#22 ----- Yann Tiersen best and do not fuck |
|
Создано: 20 августа 2011 15:25 · Личное сообщение · #6 |
|
Создано: 20 августа 2011 15:31 · Поправил: PE_Kill · Личное сообщение · #7 |
|
Создано: 20 августа 2011 15:39 · Личное сообщение · #8 PE_Kill пишет: в 2.х 4 байта. PE_Kill стареешь? вот код: Code:
|
|
Создано: 20 августа 2011 16:02 · Личное сообщение · #9 |
|
Создано: 20 августа 2011 18:55 · Личное сообщение · #10 |
|
Создано: 24 августа 2011 10:10 · Личное сообщение · #11 PE_Kill пишет: Если ключ привязан к железу, то буфер сначала шифруется HWID'ом (XOR подобным алгоритмом), а потом только шифруется RSA. Шифрование кода тут не при чем, не имея HWID мы не сможем расшифровать буфер и не сможем вытащить из буфера 10 байтный ключ дешифрования кода. Имея валидный ключ на другое железо, но не имея HWID этого железа, HWID можно сбрутфорсить О, как... Несколько вопросов сразу возникает: Я правильно понимаю, что для дешифрации вышеозначенного "буфера" используется открытый ключ RSA, который зашит в самой проге, и, следовательно, он одинаковый для всех копий проги данной версии? Аспровый кейген шифрует буфер закрытым ключом, а прога дешифрует его открытым? Если так, то расшифровать буфер (без учета хвида) можно, достав из проги открытый ключ? Это реально? Остается ХВИД. А чем он в принципе отличается от имени юзера и другой инфы из ключа? Ведь, насколько я понимаю, все это, как правило, известно. Почему надо обязательно _иметь_ железо, совпадающее с хвидом? Или конкретный алгоритм "ксоренья хвидом" все-таки неизвестен, так что приходится отдать это на откуп самому аспру? И еще. Я правильно понял, что для шифрации/дешифрации кода в Аспре RSA не применяется? Тут спорят про 8-байтный/10-байтный ключ - это симметричный алгоритм, или что? -Спасибо КультПросвету! ;) ЗЫ: поздравляю с приобретением новой клавы! |
|
Создано: 24 августа 2011 11:03 · Поправил: PE_Kill · Личное сообщение · #12 Awak00m пишет: Я правильно понимаю, что для дешифрации вышеозначенного "буфера" используется открытый ключ RSA, который зашит в самой проге, и, следовательно, он одинаковый для всех копий проги данной версии? Правильно Awak00m пишет: Аспровый кейген шифрует буфер закрытым ключом, а прога дешифрует его открытым? Да Awak00m пишет: Если так, то расшифровать буфер (без учета хвида) можно, достав из проги открытый ключ? Да Awak00m пишет: Это реально? Вполне Awak00m пишет: Остается ХВИД. А чем он в принципе отличается от имени юзера и другой инфы из ключа? Тем, что он НЕ ЗАПИСЫВАЕТСЯ в ключ, этим значением наоборот шифруются данные ключа. Awak00m пишет: Почему надо обязательно _иметь_ железо, совпадающее с хвидом? Никого не надо иметь, нужно лишь знать значение HWID для дешифровки буфера ключа. Awak00m пишет: Или конкретный алгоритм "ксоренья хвидом" все-таки неизвестен Наоборот известен, он весьма крив. Awak00m пишет: И еще. Я правильно понял, что для шифрации/дешифрации кода в Аспре RSA не применяется? Правильно. В 2.х версиях используется RC4 ссылку на псевдокод я приводил, в 1.x не смотрел, но ключи дешифровки разной длинны, возможно в 1.х от стандартной EncConst взят какой то хешь. Мне особо не надо было эту версию копать. Но то, что это не RSA это точно, RSA слишком медленный алгоритм и ключ для дешифровки кода раздул бы основной до томика война и мир, а солод наоборот всю жизнь укорачивает что можно и нельзя. ----- Yann Tiersen best and do not fuck |
|
Создано: 06 октября 2011 16:01 · Поправил: SReg · Личное сообщение · #13 |
|
Создано: 06 октября 2011 16:38 · Личное сообщение · #14 |
|
Создано: 06 октября 2011 16:50 · Личное сообщение · #15 |
|
Создано: 06 октября 2011 17:45 · Личное сообщение · #16 |
|
Создано: 06 октября 2011 18:02 · Личное сообщение · #17 |
|
Создано: 06 октября 2011 18:20 · Поправил: PE_Kill · Личное сообщение · #18 У меня не работает, иначе бы не спрашивал. Ладно, занимаюсь... ADD: SReg готово, отправил результаты в личку. ----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: SReg |
|
Создано: 24 октября 2011 15:21 · Личное сообщение · #19 |
|
Создано: 24 октября 2011 17:31 · Личное сообщение · #20 |
eXeL@B —› Протекторы —› ASProtect 1.X - регфайл с HardwareID |
Эта тема закрыта. Ответы больше не принимаются. |