eXeL@B —› Протекторы —› ASProtect - вопрос по криптованным функциям |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 13 января 2006 17:53 · Личное сообщение · #1 Здравствуйте. Уверен, что на такой вопрос отвечали уже не раз, но всё же прошу короткий ответ. Программа запакована asprotect-ом. Стриппер её распаковал. До ввода правильного кода много функций заблокированно. Вид такой: Jpm msg …. криптованный код … msg эта функция недоступна. Другими словами введя валидный код, от чего бы он не зависел, мы рано или поздно доходим до функции аспра которая должна раскриптовать все подобные куски проги. Не зная этот код – это можно сделать ? Что может передаваться в эту функцию и каким алгоритмом аспр раскриптовывает этот кусок ? Или может в функцию подаётся dword а вся раскриптовка проходит xor-ом ? |
|
Создано: 13 января 2006 22:04 · Личное сообщение · #2 |
|
Создано: 13 января 2006 23:10 · Личное сообщение · #3 |
|
Создано: 13 января 2006 23:30 · Личное сообщение · #4 |
|
Создано: 14 января 2006 00:57 · Личное сообщение · #5 |
|
Создано: 14 января 2006 04:33 · Личное сообщение · #6 |
|
Создано: 14 января 2006 11:57 · Личное сообщение · #7 |
|
Создано: 14 января 2006 14:58 · Личное сообщение · #8 infern0 пишет: если есть валидный ключ, но с другой машины (в случае привязки к hwid) то тоже можно сдампить не согласен! Если hwid этой машины известен, то да, можно. Если нет - то под большим вопросом - зависит от длины hwid. (Кстати, если судишь на примере Кроноса, то там hwid не аспровый используется, а внутрикроносовский. Потому и дампятся шифрованные куски легко). inferno_mteam пишет: Если версия < 1.2 также возможна расшифровка. Не нужно путать. В версиях меньше 1.2 была возможна генерация секретной части RSA ключа, что позволяло генерировать регистрационные данные. Но возможности расшифровать зашифрованные участки кода без наличия хоть одного авторского ключа не было возможно! |
|
Создано: 14 января 2006 15:34 · Личное сообщение · #9 |
|
Создано: 01 марта 2006 21:06 · Поправил: 0xy · Личное сообщение · #10 |
|
Создано: 01 марта 2006 23:23 · Личное сообщение · #11 |
|
Создано: 02 марта 2006 11:22 · Личное сообщение · #12 |
|
Создано: 16 марта 2006 07:29 · Личное сообщение · #13 ssx Solo Статью прочел, идея в общем понятна Но как ее в жизнь воплотить? Буду признателенен, если кто-то подробно, на пальцах объяснит: 1) как выцарапать лицензию из защищенной проги? 2) как взаимосношаются лицензия и ключ, и кто из них кого расшифровывает? 3) что полезного (и бесполезного) содержится внутри лицензии и ключа соответственно? 3.1.) где (в ключе или в лицензии) хранится ключ для покриптованоых кусков проги? 4) что означают и где хранятся упомянутые в статье параметры A,D,E,N,P,Q? Напомню: речь идет об Асрпе 1.0 ; в проге есть криптованые куски (валидный ключ есть), и наша задача -- создать ключ с задаными рег. данными PS Да, в криптографии я нУль PPS Попутно еще две задачи (надеюсь, это по-проще) 1) научиться вытаскивать ключ для криптованых кусков (его можно передать товарищу, не опасаясь, что тебя забанят ) 2) расшифровать содержащиеся в ключе рег. данные (прога не всегда это делает, а иногда не мешает знать, чьим ключом пользуешься) |
|
Создано: 16 марта 2006 08:17 · Поправил: tar4 · Личное сообщение · #14 |
|
Создано: 16 марта 2006 16:38 · Поправил: 0xy · Личное сообщение · #15 tar4 Аспровская схема здесь скорее "внутренняя": ключ берется из реестра (строка 172 символа) А "лицензией" я обозвал данные проэкта Аспра, которые хранятся в проге (по-моему, их еще называют паблик-ключем (ASAP)). В стате говорится, что в проге лежат некие E и N, а в ключе зашифрованы рег. инфа и некий А (это и есть ключ для криптованых кусков?) И результатом атаки является нахождение некого D Вот только где этот D живет в мирных условиях -- я так и не понял. Да, там еще какие-то P и Q поминали Народ, кто знает (и кому не облом ), расскажите, плииз, по-подробнее о том, что я спрашивал двумя постами выше Или хотябы скажите, как ключ расшифровать -- может тогда и остальное понятнее станет |
|
Создано: 16 марта 2006 22:47 · Личное сообщение · #16 Ключи D и E изначально генерируются так, что для любого X верно (X**E)**D=X(mod N). Для их генерации используются P и Q. Всю теорию можно в Шнаере прочитать. Поиск D и N в аспорвой программе зависит от версии аспра. Как было до 1.2 не знаю. Скорее всего проще, чем в последних. Думаю, вряд ли кто-то расскажет, как доставать ключи... Если прога небольшая, выложи, может найду в ней D и N, если версия 1.1 не сильно отличается от последних... |
|
Создано: 17 марта 2006 05:42 · Личное сообщение · #17 Oxy Учитывая то, что в аспре используется ассимитричный тип криптозащиты на основе Rsa, тогда D - это закрытый ключ (descript), а E- открытый публичный ключ. Для того, чтобы ключ "попал" в реестр, нужно сначала, чтобы прога его использовала. Если применена "внешняя" схема, то ключ читается из внешнего файла, если схема с кодом активации - то после ввода кода активации, ключ записывается в реестр. Ключ D находится у того, кто проводит шифрацию криптованных участков, т.е. у собст-ка проги. После оплаты стоимости программы, он направляется (высылается) пользователю. Алгогитм расшифровки - где-то в недрах проги. По крайней мере я сейчас так понимаю эту ситуацию. |
|
Создано: 17 марта 2006 05:53 · Поправил: 0xy · Личное сообщение · #18 Solo пишет: Поиск D и N в аспорвой программе зависит от версии аспра. Как было до 1.2 не знаю. Скорее всего проще, чем в последних. Хм, ты меня совсем запутал В статье говорится, что в проге содержатся N и E, а не D Впрочем, обзывать их можно как как угодно Но в любом случае непонятно, где хранится второй из них?? Также не понял: позволяет ли нам эта уязвимость "зарегить" прогу на конкретнго юзверя? Solo пишет: Если прога небольшая, выложи, может найду в ней D и N, если версия 1.1 не сильно отличается от последних... Вообще-то я сам хочу научиться их находить. Надеюсь расскажешь как, если найдешь Только запакованый ехешник: AsProtectedEXEOnly.rar http://rapidshare.de/files/15695303/AsProtectedEXEOnly.rar_.html -- 945 046 b Файлы, необходимые для запуска проги (НЕ для полноценной работы -- только для исследования): OtherFilesOfProga.rar http://rapidshare.de/files/15694992/OtherFilesOfProga.rar_.html -- 769 114 b А вот что находит в проге ASAP: HVPjnac4MbCdP1j4CbiFqxBLzAF5ynuPM2rNFKUwT0pHMD58dpKFegEE3mVNUYEXOXhbVw 8A0lkqhNxinpvO/X04aRgtvt/j27QtBTj5zB5gMI4GEr4Jvuub7FU/aLPVxlfVqYJX7ev0 2cwdyo8WHCM/PnTX7H9gE1WEUIKYHb0=
Сие явление он обзывает "Public key" и говорит, что он должен "образовывать верную пару с User key", чего, по его мнению, не наблюдается! Кстати, ASAP--прикольная тулза, как раз для этих версий Аспра (<=1.1) Там много чего есть (в т.ч. и атака по этой дырке ) Жаль только, что умерла она в глубокой альфе, а большинство фитч не фурычат И еще: объясни, плииз, как (имея D(E) и N ) расшифровать рег. ключ Третий раз прошу |
|
Создано: 17 марта 2006 06:44 · Поправил: 0xy · Личное сообщение · #19 tar4 пишет: Для того, чтобы ключ "попал" в реестр, нужно сначала, чтобы прога его использовала. Если применена "внешняя" схема, то ключ читается из внешнего файла, если схема с кодом активации - то после ввода кода активации, ключ записывается в реестр С внешней схемой не знаком, а всего остального, по-моему, в Аспр 1.0 не было. По крайней мере, кода активации там точно нет, а ключ предполагается вносить в реестр самостоятельно (или при помощи внещней проги ) tar4 пишет: Ключ D находится у того, кто проводит шифрацию криптованных участков, т.е. у собст-ка проги. После оплаты стоимости программы, он направляется (высылается) пользователю. Дык что, выходит, что эти 172 символа в реестре и есть ключ для раскриптовки кода? По-моему, это не совсем так (или совсем не так ) |
|
Создано: 17 марта 2006 07:20 · Личное сообщение · #20 |
|
Создано: 17 марта 2006 07:27 · Поправил: 0xy · Личное сообщение · #21 tar4 пишет: Ключ D находится у того, кто проводит шифрацию криптованных участков, т.е. у собст-ка проги. После оплаты стоимости программы, он направляется (высылается) пользователю. Теперь разобрался, как должна звучать эта фраза: "Ключ D находится у того, кто проводит шифрацию регистрационных ключей (тобиш, клепает онные), т.е. у собст-ка проги. После оплаты стоимости программы, он (в смысле, РЕГИСТРАЦИОННЫЙ ключ) направляется (высылается) пользователю. " Then when a registration key is computed: 1 - H1 = RipeMD-160(A) -- похоже это и есть ключ для криптованых кусков 2 - H2 = MD5(Registration Information—H1) 3 - Key = RSA(D,N, [H2—Registration Information—H1]) |
|
Создано: 17 марта 2006 07:38 · Личное сообщение · #22 |
|
Создано: 21 марта 2006 02:49 · Поправил: 0xy · Личное сообщение · #23 Вот, нашел хорошую статью об RSA: http://exelab.ru/art/rsa_key.php Там подробно рассказано об P,Q,D,E и N Но остаются актуальными вопросы: 1) Как выдрать из проги E и N? -- 2 Solo 2) Как, при наличии вышеупомянутых, расшифровать рег. ключ Аспра (v 1.0, если кто забыл ), т.е. выдрать из него ключи для крипованых кусков проги, а также рег. данные (не подделать, а просто прочесть)? 3) Что делать с seed, вычисленым согласно статье http://woodmann.com/crackz/Tutorials/Asprotect.zip ? Можно ли его как-то скормить RSAtool для вычисления закрытого ключа, или необходимо разбираться с алгоритмом, предложеным в статье? |
|
Создано: 21 марта 2006 05:22 · Личное сообщение · #24 |
|
Создано: 21 марта 2006 09:42 · Личное сообщение · #25 |
|
Создано: 22 марта 2006 00:30 · Личное сообщение · #26 короче, разгребал недавно накаченый софт.. вот набрёл на это... вроде там статья про RSA-1024 + какие то исходники на асме... надеюсь, кому-то поможет.... 40c0_Asprotect.zip.zip ----- [nice coder and reverser] |
|
Создано: 22 марта 2006 00:39 · Личное сообщение · #27 |
|
Создано: 22 марта 2006 00:57 · Личное сообщение · #28 |
|
Создано: 22 марта 2006 02:33 · Поправил: 0xy · Личное сообщение · #29 tar4 пишет: Хотел помочь тебе, но не получилось протрассировать прогу. Похоже там защита от отладчика стоит, вызывается GetTickCount. А как обойти ее, некогда разбираться. Странно У меня под Олей запускается (после 44 Exceptions) и трассируется без проблем. Вот выложил вариант с отключенным Аспровским Anti-Debug: AsProtectedEXEOnlyWOAntiDebug.rar http://rapidshare.de/files/16100595/AsProtectedEXEOnlyWOAntiDebug.rar_.html |
|
Создано: 22 марта 2006 08:07 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Протекторы —› ASProtect - вопрос по криптованным функциям |