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

 eXeL@B —› Вопросы новичков —› Определить алгоритм шифрования DLL
Посл.ответ Сообщение


Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 01 июля 2008 16:54 · Поправил: Модератор
· Личное сообщение · #1

Ковыряю прогу AutoPlay Menu Builder 5.5 (http://linasoft.com/files/apmbld55.zip). Защита приблизительно такая: при запуске шифрованная библа APMUtils.dll кидается в TEMP папку и расшифровывается (пароль расшифровки вроде: STOPCRACKINGTHANKS). От туда проверяется CRC главного файла, и если нарушено - закрываем прогу. Расшифрованную DLL-ку то я пропатчил, но как или чем зашифровать ее обратно, чтобы спокойно патчить главный файл? Пробовал наобум различные утилиты для зашифровки, но файл не шифруется как надо, возможно пароль неверный. Можно попытаться заставить прогу читать сразу напрямую без расшифровки, но автор добавил проверки на это дело.

Аттачу шифрованную и расшифрованную/пропатченную DLL:


1a9d_01.07.2008_CRACKLAB.rU.tgz - apmutils.rar

-----
Array[Login..Logout] of Life





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 01 июля 2008 21:23
· Личное сообщение · #2

Пройдись сигнатурами и поищи, каким алго шифруется, таким и зашифруй. А название топика вообще ужасно, SHA1-ни разу не шифрования алгоритм, а хеш, а это вещи совсем разные.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 02 июля 2008 06:12
· Личное сообщение · #3

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

Kindly пишет:
Аттачу шифрованную и расшифрованную/пропатченную DLL:

И что это даст? Посмотреть как ты красиво пропатчил? Алгоритмы не могут быть распознаны (за редким исключением) сравнением зашифрованых и расшифрованых контентов.

-----
Yann Tiersen best and do not fuck





Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 02 июля 2008 11:45
· Личное сообщение · #4

Спасибо за разъяснение, только знаю, что Blowfish точно используют для зашифровки файлов с ключом, насчет остальных погуглить надо, с кприпто не знаком.

Archer пишет:
SHA1-ни разу не шифрования алгоритм

у меня тулза есть для шифрования/дешифровки файлов с указанием пароля по MD5, Blowfish, SHA1 - поэтому так решил, может пароль хешируется там только по этим алго?

А ведь если по Blowfish, так он тоже же разный бывает, а крипто сигнатуры в SND RT 4 этого не определяют.

-----
Array[Login..Logout] of Life




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 02 июля 2008 17:18
· Личное сообщение · #5

Kindly
Я помнится патчил эту длл на лету, когда она записывается в TEMP папку. Перехватываешь WriteFile, прыгаешь на нули и првишь буфер. И не надо шифровать/расшифровывать




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 03 июля 2008 16:21
· Личное сообщение · #6

crc1 пишет:
Я помнится патчил эту длл на лету
на лету я тоже пробовал, но в этом билде столько проверок от патчинга накручено, что далеко не все середнячки смогут сломать эту прогу. Прогу я якобы зарегил, но создавать в ней ничего нельзя, объекты пропадают из проекта при тестировании проекта, глюки вылазят при разработке, вобщем, все отлавливать замучишся.
Тему закрывать не буду, может кому защита окажется интересной.

-----
Array[Login..Logout] of Life




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

Создано: 07 июля 2008 17:26 · Поправил: promix17
· Личное сообщение · #7

Попробуй такой способ:
Пропатченную DLL положи в папку основной программы вместо настоящей.
Потом запусти основную программу - она скопирует DLL в TEMP папку и зашифрует, если алгоритм обратимый. Теперь папке TEMP рабочая и пропатченная DLL. Всё так просто

Напиши про результат




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 07 июля 2008 19:44
· Личное сообщение · #8

promix17, алго не обратимый. В который раз ее успешно ломают Embrace, там пропатчили еще ту проверку на предмет патчинга.

-----
Array[Login..Logout] of Life




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 08 июля 2008 09:55
· Личное сообщение · #9

Kindly пишет:
но в этом билде столько проверок от патчинга

Всего две
Вот мой вариант, уж года два не менялся:

0052356D LEA EDX, DWORD PTR SS:[EBP-2010] ; В EDX указатель на буфер, где байты расшифрованы
00523573 MOV ECX, EBX
00523575 MOV EAX, DWORD PTR SS:[EBP-C]
00523578 MOV EBX, DWORD PTR DS:[EAX]
0052357A CALL DWORD PTR DS:[EBX+10] ; Так было

0052356D LEA EDX, DWORD PTR SS:[EBP-2010] ; В EDX указатель на буфер, где байты расшифрованы
00523573 MOV ECX, EBX
00523575 MOV EAX, DWORD PTR SS:[EBP-C]
00523578 CALL 0059731D ; Прыг на нули

0059731D CMP DWORD PTR DS:[EDX+882], 006A0775 ; Проверяем эти ли байты, которые нужно пропатчить
00597327 JNZ SHORT 00597343
00597329 CMP DWORD PTR DS:[EDX+1654], C0310474 ; Проверяем эти ли байты, которые нужно пропатчить
00597333 JNZ SHORT 00597343
00597335 MOV BYTE PTR DS:[EDX+882], 0EB ; Если да, то патчим буфер
0059733C MOV BYTE PTR DS:[EDX+1654], 0EB
00597343 MOV EBX, DWORD PTR DS:[EAX] ; Выполняем затертый код
00597345 CALL DWORD PTR DS:[EBX+10]
00597348 RETN

Фсе, прога CRC уже не чекает.




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 08 июля 2008 12:23
· Личное сообщение · #10

crc1, хех - я так пока не шарю. Спасибо за подробное пояснение.

-----
Array[Login..Logout] of Life



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


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