Разработка защиты серийными номерами

Тема в разделе "WASM.RESEARCH", создана пользователем jangle, 8 мар 2005.

  1. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    В аттаче пока такой, на скорую ногу брутфорсер, включаю на ночь и лажуся спать :)



    Сейчас попробую! :))
     
  2. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    У меня брутфорсер проработал несколько часов, но ничего не нашел! :dntknw:
     
  3. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    У меня проработал ночь на celeron 667Mhz, перебрал k5 только от 0 до 4-х (ещё 251) :), нашел один хеш "C0534A6301" и один мелкий, но важный баг в расшифровке :), т.ч. пока ложное срабатывание, надо доделать нормально брутфорсер, т.к. я ещё забыл разнести код и данные на килобайт для P4 (по совету leo), иначе могли быть постоянные trace cache сбросы на этом камне
     
  4. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    bogrus



    У тебя там точно нет ошибки - что-то я в твоем RC4 не вижу XOR-а ?



    PS А почему ты не хочешь сделать критерий "MZ" + crc32 ?



    crc32 нужно будет считать только каждый 1/2^16 раз.
     
  5. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine




    Зачем ещё xor, его и так можно посчитать:
    Код (Text):
    1. 7E7C59A0C4 ; a = первые 5 байт шифра
    2. 4D5A900003 ; b = популярный MZ
    3. 3326C9A0C7 ; c = a xor b
    Проверяем нахождение в таблице по нужному смещению сначала 33, потом 26 и т.д.







    Для CRC надо считать весь шифр? Там 59 килобайт
     
  6. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Исправил расшифровку, добавил ещё один популярный MZ (где-то 90%, что должен быть один из этих), на 4-х байтах ключа находит сразу много вариантов, например такой ключ "DC2A310200" дает "4D5A5000?? (MZP.?)", а вот с проверкой пятого байта (должен быть один из таких: 01,02,03) долго считает (до 25 марта должно найти :), надо ещё что-то придумать ...

    [​IMG] _719868226__bruteforce.zip
     
  7. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Вот уже час, работает вторая версия брутфорсера,

    пока ничего не обнаружила, боюсь на моем PII-400 ждать

    прийдется очень долго...
     
  8. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Вот оценка необходимого времени (всего 1099511627775) комбинаций:
    Код (Text):
    1. =====================================================
    2. PIII 667MHz (Coppermine) - 1700 тактов на комбинацию
    3. 1099511627775 * 1700 / 667000000 = 2802353 секунд / 60 = 46705 минут / 60 = 778 часов / 24 = [b]32 дня[/b]
    4. =====================================================
    5. P4 2.40GHz (Northwood) - 1800 тактов на комбинацию
    6. P4 - 1099511627775 * 1700 / 2400000000 = 824633 секунд / 60 = 13743 минут / 60 = 229 часов / 24 = [b]9,5 дней[/b]
    7. =====================================================
    Тут просто надо P4 десять штук включить параллельно на разные диапазоны k5 и за пол дня будет весь перебор, а ты со своими 400 Ж)
     
  9. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Ха, я понял как можно ломать проги с ограниченным функционалом. Не надо ничего расшифровывать, ведь как правило в ограниченной версии отсуствует всего лишь 1-2 простых функций. В TextPAD из ограничений только наг-скрин и невозможность сохранения файла.

    Короче, пишем простой "пускач", который загружает TextPAD.exe и хучит появление наг-скрин`а, и убивает его. Затем ставит хук на появление MessageBox с титлом "TextPAD", убивает его, показывает

    собственный диалог "Save as..." , с помощью функции GetWindowText читает содержимо из тескстового поля и сам сохраняет его на диск.



    Вот и весь взлом, TextPAD.exe вообще не трогали, просто написали для него "крак-обвеску".
     
  10. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Ты лучше скажи, нафига тогда в TextPAD.exe засунул зашифрованный екзешник размером 59 Кбайт, для чего он?
     
  11. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Я только щас понял, что его можно не расшифовывать!
     
  12. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    jangle

    только щас понял, что его можно не расшифовывать

    Этого и следовало ожидать.

    Ибо вначале было "работаю в одной из лабораторий Минздрава".
     
  13. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Этого и следовало ожидать.

    Ибо вначале было "работаю в одной из лабораторий Минздрава".




    Это не отменяет необходимость расшифровки, отключенной может быть не только функция сохранения файла, а что-то более серьезное.
     
  14. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    bogrus



    Ты еще занимаешься этой штукой или забил ?



    Могу поучаствовать 2-3 компами в брутфорсе, но вот стоит ли ... ? - если все точно сводится к перебору 2^40 (на XP тоже - ?), то можно считать, что "универсальный кряк" к этой проге ты написал, по крайней мере макет.
     
  15. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Могу поучаствовать 2-3 компами в брутфорсе, но вот стоит ли ... ? - если все точно сводится к перебору 2^40 (на XP тоже - ?), то можно считать, что "универсальный кряк" к этой проге ты написал, по крайней мере макет.



    И не только к ней, подобное шифрование используют многие разработчики, очень много компонентов для Delhpi и VB с таким алгоритмом
     
  16. Chingachguk

    Chingachguk New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2002
    Сообщения:
    340
    jangle



    Т.е. ты согласен со значением стойкости в 2^40 ?



    И что можешь сказать про xp (у меня 98).
     
  17. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Да, про эту уязвимость известно уже давно, еще в Norton Descreet был этот баг 2^40.

    В книжках про CryptoAPI тоже описывается алгоритм с 2^40. Программисты бездумно копируют эту схему в свои приложения. Говорят, что этот "люк" был сделан по требованию AНБ которая незаинтересована поставлять криптостойкие алгоритмы потенциальным противникам США.



    Еще там есть такие закладки:



    - Время от времени отдельные биты ключа подмешиваются в шифротекст



    - Ключ имеет длину всего 40 бит



    - В начале каждого шифруемого текста вставляется фиксированный заголовок, чтобы облегчить криптоаналитическую атаку со знанием открытого текста



    - Любое шифрованное сообщение содержит некоторый фрагмент открытого текста вместе с соответствующим им шифротекстом
     
  18. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    _Chingachguk_




    Та я забил, нечего больше делать, как напрягать комп :)

    Интереснее было бы переделать перебор на MMX\SSE (нашел статью на insidepro.com, там такой принцип частично использовали для связки MD5\RC4, обрабатывали сразу 8 паролей) теоретически можно достигнуть в несколько раз ускорение
     
  19. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    bogrus

    RC4 на MMX/SSE/SSE2 очень плохо ложится... вряд ли для него вообще получится выйгрыш получить.

    А MD5 на SIMD переложить можно, но выйгрыш от этого вряд ли больше чем в два раза будет.
     
  20. jangle

    jangle New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    56
    Адрес:
    Russia
    Сдампить программу с серийником будет просто?



    Serial Key - 86F29L3054R256Q38724ZQW4