прошу совета у войнов дзена алгоритмом цифровой подписи

Тема в разделе "WASM.RESEARCH", создана пользователем andy_lex, 27 мар 2006.

  1. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    Начал изучать асм, и сталкнулся с такой проблемой

    не могу разобратся с алгоритмом цифровой подписи

    изночально ясно мд5 но потом как то модифицируется но не могу понять как получаются данные с непонятной структурой вот кусок библиотеки секции протект которая это все делает если не трудно посмотрите



    [​IMG] 2130665209__protect.txt
     
  2. 6arrep

    6arrep New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2006
    Сообщения:
    92
    Адрес:
    London
    если начал изучать асм, то далековато забрался !!!

    а цифровая подпись чего вообще? дров вина чтоли? а на какую версию? или на свою пр. лепишь?

    да и вообще : опиши подробнее. Желательно в целостном виде, а не кусками.
     
  3. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    цифровая подпись зашищает лицензии в хаспе4

    это строка 32 символа в FAS AREA чтобы изменить лицензтю надо сгенерить подпись данные для генерации берутся из user area и часть fas aria то есть 5 строк по 32 символа

    далее из этого генерится мд5 а потом как то модифицируется

    вот тут я и остановился и ни как

    прога отдает управление дллке которая всеэто считает и в зависимости от типа лицензии запускает другие модули
     
  4. andy_lex

    andy_lex New Member

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

    webfile.ru/879713
     
  5. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    andy_lex

    озвучь программу
     
  6. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    ПРОГА НАЗЫВАЕТСЯ ВИДЕОНЕТ БИБЛИОТЕКА ОТ ВЕРСИИ 8,1
     
  7. infern0

    infern0 New Member

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


    почему-то я так и подумал...

    там обычный MD5 проксоренный поверх константой.
     
  8. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    ВОТ Я И НЕ МОГУ НАЙТИ ЭТУ КОНСТАНТУ
     
  9. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    да там достаточно рипнуть кусок кода - найди для начала md5init/update/final в коде - дальше думаю все понятно будет
     
  10. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    так я и сделал ида нашла все выше перечисленные сигнатуры но но нет аргументов функций наверное потомучто дллка не хочет запускатся отдельно может быть в качестве аргументов используются возвратные коды хаспа
     
  11. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    млин. посмотри что именно принимает та функция - у нее 2 аргумента кажется



    тебе не кажется что в листинге какой-то мусор?

    240D4BA7 8C00 MOV WORD PTR DS:[EAX],ES

    240D4BA9 0000 ADD BYTE PTR DS:[EAX],AL

    240D4BAB 0056 69 ADD BYTE PTR DS:[ESI+69],DL

    240D4BAE 72 74 JB SHORT Dumpedkk.240D4C24



    и т.д.
     
  12. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
  13. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    24059B30 |> 8A1C01 /MOV BL,BYTE PTR DS:[ECX+EAX]

    24059B33 |. 3018 |XOR BYTE PTR DS:[EAX],BL

    24059B35 |. 8A1C07 |MOV BL,BYTE PTR DS:[EDI+EAX]

    24059B38 |. 3058 01 |XOR BYTE PTR DS:[EAX+1],BL

    24059B3B |. 8A1C28 |MOV BL,BYTE PTR DS:[EAX+EBP]

    24059B3E |. 3058 02 |XOR BYTE PTR DS:[EAX+2],BL

    24059B41 |. 8A1C02 |MOV BL,BYTE PTR DS:[EDX+EAX]

    24059B44 |. 3058 03 |XOR BYTE PTR DS:[EAX+3],BL

    24059B47 |. 8B5C24 20 |MOV EBX,DWORD PTR SS:[ESP+20]

    24059B4B |. 8A1C03 |MOV BL,BYTE PTR DS:[EBX+EAX]

    24059B4E |. 3058 04 |XOR BYTE PTR DS:[EAX+4],BL

    24059B51 |. 8B5C24 18 |MOV EBX,DWORD PTR SS:[ESP+18]

    24059B55 |. 8A1C03 |MOV BL,BYTE PTR DS:[EBX+EAX]

    24059B58 |. 3058 05 |XOR BYTE PTR DS:[EAX+5],BL

    24059B5B |. 8B5C24 24 |MOV EBX,DWORD PTR SS:[ESP+24]

    24059B5F |. 8A1C03 |MOV BL,BYTE PTR DS:[EBX+EAX]

    24059B62 |. 3058 06 |XOR BYTE PTR DS:[EAX+6],BL

    24059B65 |. 8B5C24 10 |MOV EBX,DWORD PTR SS:[ESP+10]

    24059B69 |. 8A1C03 |MOV BL,BYTE PTR DS:[EBX+EAX]

    24059B6C |. 3058 07 |XOR BYTE PTR DS:[EAX+7],BL

    24059B6F |. 83C0 08 |ADD EAX,8

    24059B72 |. 4E |DEC ESI

    24059B73 |.^75 BB \JNZ SHORT Dumped.24059B30



    вот вроде разобрался только не могу найти аргументы

    подскажите как их вытащить
     
  14. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    ага, уже похоже на правду



    какие аргументы ты не можешь вытащить?
     
  15. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    дллка в дебагере не читает данные из ключа вываливает ошибку не могу загрузить длл

    пробывал в разных оли, ида

    аргументы :[ESP+20],:[ESP+18] :[ESP+24]:[ESP+10]



    вот на эти значения хорится мд5 хеш полученный из значений

    ключа
     
  16. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    сунь распакованную dll в иду (можешь даже импорт не восстанавливать, а просто сдампить), думаю все увидишь.

    немного выше того что ты привел:

    .text:24059AE5 mov [esp+20h], ebx

    .text:24059AE9 mov ebx, offset byte_240674F9

    .text:24059AEE sub ebx, esi

    .text:24059AF0 mov [esp+18h], ebx

    .text:24059AF4 mov ebx, offset byte_240674FA
     
  17. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    уже пробывал вот ссылка на дамп webfile.ru/914169

    если есть время посмотри

    text:24059B30

    .text:24059B30 loc_24059B30: ; CODE XREF: sub_24059A40+133j

    .text:24059B30 mov bl, [ecx+eax]

    .text:24059B33 xor [eax], bl

    .text:24059B35 mov bl, [edi+eax]

    .text:24059B38 xor [eax+1], bl

    .text:24059B3B mov bl, [eax+ebp]

    .text:24059B3E xor [eax+2], bl

    .text:24059B41 mov bl, [edx+eax]

    .text:24059B44 xor [eax+3], bl

    .text:24059B47 mov ebx, [esp+14h+arg_8]

    .text:24059B4B mov bl, [ebx+eax]

    .text:24059B4E xor [eax+4], bl

    .text:24059B51 mov ebx, [esp+14h+arg_0]

    .text:24059B55 mov bl, [ebx+eax]

    .text:24059B58 xor [eax+5], bl

    .text:24059B5B mov ebx, [esp+14h+arg_C]

    .text:24059B5F mov bl, [ebx+eax]

    .text:24059B62 xor [eax+6], bl

    .text:24059B65 mov ebx, [esp+14h+var_4]

    .text:24059B69 mov bl, [ebx+eax]

    .text:24059B6C xor [eax+7], bl

    .text:24059B6F add eax, 8

    .text:24059B72 dec esi

    .text:24059B73 jnz short loc_24059B30

    .text:24059B75 pop edi

    .text:24059B76 pop esi

    .text:24059B77 pop ebp

    .text:24059B78 pop ebx

    .text:24059B79 pop ecx

    .text:24059B7A retn

    .text:24059B7A sub_24059A40 endp

    а в аргументах вопросики
     
  18. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    да еще после исполнения этого куска кода он удаляется из памяти
     
  19. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    я еше на предидушеи странице написал - тебе достаточно рипнуть кусок кода - на выходе там уже готовая подпись
     
  20. andy_lex

    andy_lex New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2005
    Сообщения:
    17
    Адрес:
    Russia
    А РИПНУТЬ ЭТО КАК ИЗВИНИТЕ КОНЕЧНО ЗА ГЛУПЫЙ ВОПРОС