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

 eXeL@B —› Основной форум —› Исследование Auto Debug 3.0
<< . 1 . 2 . 3 .
Посл.ответ Сообщение


Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 28 июня 2006 21:14
· Личное сообщение · #1

Обнаружил сёдня у себя на харде, но злобный наг достал просто
[ссылка] hxxp://hellspawn.nm.ru/tmp/setup.exe
[размер] 1.16мб
[запакована] ASPack 2.12 + PECompact 1.xx

интересно взломать самому программа не для новичка...
уже насколько часов бъюсь, вот что нарыл:
-куча int 3 в коде
-проверка на бряки
-проверка crc
-издебаггер презент
заставить работать расспакованную пока не удалось...
собственно в это и интерес, ну теперь к коду:

oep 0043DDE3
...
004011E2 |. 3941 04 CMP DWORD PTR DS:[ECX+4],EAX
004011E5 |. 74 3F JE SHORT 00401226 // одна из проверок
...
проверки зарегенности имеют вид CMP DWORD PTR DS:[REG32_1+4],REG32_2
их там не много, но меня убивает, что она отключает хардварные бряки

проверку крк вроде нашёл, ща настряпую лоадер...
Прога интересная, советую посмотреть

-----
[nice coder and reverser]





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 25 июля 2006 12:43
· Личное сообщение · #2

Medsft пишет:
exitprocess является финалом работы защиты а сам механизм защиты спрятан за "исключениями" причем на другой странице так что проследить последовательность up-реверсинга порой бывает трудно (в данной проге)


ну да трудновато, но можно

Medsft пишет:
так что статья думаю выйдет поучительная.


я постараюсь, вот только с anti drx не могу разобраться... ну не вижу я в упор
а так вроде всё остально ясно, вот только валидный ключик бы достать

-----
[nice coder and reverser]




Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 12:59
· Личное сообщение · #3

А ты спроси Я еще никому не отказывал если не занят очень.
004316EC . 53 PUSH EBX
004316ED . 56 PUSH ESI
004316EE . 8B35 90714400 MOV ESI, DWORD PTR DS:[<&kernel32.GetCurrentThread>] ; kernel32.GetCurrentThread
004316F4 . 8D85 10FDFFFF LEA EAX, DWORD PTR SS:[EBP-2F0]
004316FA . 57 PUSH EDI
004316FB . 50 PUSH EAX ; /pContext
004316FC . C785 10FDFFFF 10000100 MOV DWORD PTR SS:[EBP-2F0], 10010 ; |UNICODE "PROFILE=C:\Documents and Settings\All Users"
00431706 . FFD6 CALL ESI ; |[GetCurrentThread
00431708 . 50 PUSH EAX ; |hThread
00431709 . FF15 EC714400 CALL DWORD PTR DS:[<&kernel32.GetThreadContext>] ; \GetThreadContext
0043170F . 8D85 10FDFFFF LEA EAX, DWORD PTR SS:[EBP-2F0]
00431715 . 33DB XOR EBX, EBX
00431717 . 50 PUSH EAX ; /pContext
00431718 . 899D 14FDFFFF MOV DWORD PTR SS:[EBP-2EC], EBX ; |
0043171E . 899D 18FDFFFF MOV DWORD PTR SS:[EBP-2E8], EBX ; |
00431724 . 899D 1CFDFFFF MOV DWORD PTR SS:[EBP-2E4], EBX ; |
0043172A . 899D 20FDFFFF MOV DWORD PTR SS:[EBP-2E0], EBX ; |
00431730 . 899D 28FDFFFF MOV DWORD PTR SS:[EBP-2D8], EBX ; |
00431736 . FFD6 CALL ESI ; |[GetCurrentThread
00431738 . 50 PUSH EAX ; |hThread
00431739 . FF15 14724400 CALL DWORD PTR DS:[<&kernel32.SetThreadContext>] ; \SetThreadContext
0043173F . 6A 08 PUSH 8



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 25 июля 2006 13:03
· Личное сообщение · #4

Medsft пишетЯ бы назвал такой подход не совсем верным....
Хм Хоть и грубый но взлом полноценный так как результат Hellspawn достиг ! Прога рабочая не вылетает
и т.д А то что грубый взлом мы и без твоих поучений понимаем.
А такой подход это совсем ни какой, то есть пока не о чем говорить...



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 13:15 · Поправил: Medsft
· Личное сообщение · #5

Да и на счет ключа не парься. Генерация второй половины ключа ОЧЕНЬ сильно завязана на контрольной сумме проги которая вычисляется с частотой 102,2000 мс соотвественно не изменяя прогу не ставя бряки высчитать как это называется (помоему хеш) тяжеловато.Лучше вот так:
0040163D /$ 53 PUSH EBX
0040163E |. 56 PUSH ESI
0040163F |. 8BF1 MOV ESI, ECX
00401641 |. 57 PUSH EDI
00401642 |. 6A 08 PUSH 8
00401644 |. 8B5E 18 MOV EBX, DWORD PTR DS:[ESI+18]
00401647 |. E8 869E0300 CALL DEBUGAPI.0043B4D2
0040164C |. 8BF8 MOV EDI, EAX
0040164E |. B8 01000000 MOV EAX, 1
00401653 |. 53 PUSH EBX
00401654 |. 90 NOP
00401655 |. 8947 04 MOV DWORD PTR DS:[EDI+4], EAX
00401658 |. 90 NOP
00401659 |. 90 NOP
0040165A |. 90 NOP
0040165B |. 90 NOP
0040165C |. 90 NOP
0040165D |. 8907 MOV DWORD PTR DS:[EDI], EAX
0040165F |. 897E 18 MOV DWORD PTR DS:[ESI+18], EDI
00401662 |. E8 AEA50300 CALL DEBUGAPI.0043BC15
00401667 |. 59 POP ECX
00401668 |. 8BC7 MOV EAX, EDI
0040166A |. 59 POP ECX
0040166B |. 5F POP EDI
0040166C |. 5E POP ESI
0040166D |. 5B POP EBX
0040166E \. C3 RETN


А до того было:

0040163D /$ 53 PUSH EBX
0040163E |. 56 PUSH ESI
0040163F |. 8BF1 MOV ESI, ECX
00401641 |. 57 PUSH EDI
00401642 |. 6A 08 PUSH 8
00401644 |. 8B5E 18 MOV EBX, DWORD PTR DS:[ESI+18]
00401647 |. E8 869E0300 CALL d_new.0043B4D2
0040164C |. 8BF8 MOV EDI, EAX
0040164E |. 8B46 18 MOV EAX, DWORD PTR DS:[ESI+18]
00401651 |. 53 PUSH EBX
00401652 |. 8B40 04 MOV EAX, DWORD PTR DS:[EAX+4]
00401655 |. 8947 04 MOV DWORD PTR DS:[EDI+4], EAX
00401658 |. 8B46 18 MOV EAX, DWORD PTR DS:[ESI+18]
0040165B |. 8B00 MOV EAX, DWORD PTR DS:[EAX]
0040165D |. 8907 MOV DWORD PTR DS:[EDI], EAX
0040165F |. 897E 18 MOV DWORD PTR DS:[ESI+18], EDI
00401662 |. E8 AEA50300 CALL d_new.0043BC15
00401667 |. 59 POP ECX
00401668 |. 8BC7 MOV EAX, EDI
0040166A |. 59 POP ECX
0040166B |. 5F POP EDI
0040166C |. 5E POP ESI
0040166D |. 5B POP EBX
0040166E \. C3 RETN


Плюс залом процедуры расчета контрольной суммы



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 13:18
· Личное сообщение · #6

pavka не ругайся я вообще не имел ввиду грубость подхода (сам так всегда хожу). А имел я виду гораздо трудней делать что то снизу чем тоже сверху



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 13:51 · Поправил: Medsft
· Личное сообщение · #7

По поводу контрольной суммы это здесь:

0042B732 |. 8BCB MOV ECX, EBX
0042B734 |. 4B DEC EBX
0042B735 |. 5E POP ESI
0042B736 |> 85C9 /TEST ECX, ECX
0042B738 |. 7E 2A |JLE SHORT d_new.0042B764
0042B73A |. 0FB617 |MOVZX EDX, BYTE PTR DS:[EDI]
0042B73D |. 8BC8 |MOV ECX, EAX
0042B73F |. 81E1 FF000000 |AND ECX, 0FF
0042B745 |. 33CA |XOR ECX, EDX
0042B747 |. C1E8 08 |SHR EAX, 8
0042B74A |. 8B8C8D 00FCFFFF |MOV ECX, DWORD PTR SS:[EBP+ECX*4-400] - сюда подставляем наше значение
0042B751 |. 33C1 |XOR EAX, ECX
0042B753 |. 47 |INC EDI
0042B754 |. 3B7D 10 |CMP EDI, [ARG.3]
0042B757 |. 75 06 |JNZ SHORT d_new.0042B75F
0042B759 |. 83C7 69 |ADD EDI, 69
0042B75C |. 83EB 6A |SUB EBX, 6A
0042B75F |> 8BCB |MOV ECX, EBX
0042B761 |. 4B |DEC EBX
0042B762 |.^ EB D2 \JMP SHORT d_new.0042B736
0042B764 |> 8B4D 14 MOV ECX, [ARG.4]
0042B767 |. 6A 01 PUSH 1
0042B769 |. F7D0 NOT EAX
0042B76B |. 8901 MOV DWORD PTR DS:[ECX], EAX
0042B76D |. 58 POP EAX
0042B76E |. EB 02 JMP SHORT d_new.0042B772




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 25 июля 2006 14:12 · Поправил: Hellspawn
· Личное сообщение · #8

Medsft прикольно, вызывается GetCurrentThread, потом извлекается CONTEXT, обнуляются
iDrx регистры а я то думал... а про ключ, я уже и сам допёр, нашёл одну процедурку,
тока вот, почему левый ключ проходит, а потом вылет? вот это место

00423DA5 . 50 PUSH EAX ; |Arg2 = 00000001
00423DA6 . 8D47 10 LEA EAX,DWORD PTR DS:[EDI+10] ; |
00423DA9 . 50 PUSH EAX ; |Arg1 = 00000001
00423DAA . E8 34790000 CALL <SOME CRC> ; \DEBUGAPI.0042B6E3
00423DAF . 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
00423DB2 . C1E8 10 SHR EAX,10
00423DB5 . 0FB74D E0 MOVZX ECX,WORD PTR SS:[EBP-20]
00423DB9 . C1E1 10 SHL ECX,10
00423DBC . 0BC1 OR EAX,ECX
00423DBE . 05 32C2EB64 ADD EAX,64EBC232
00423DC3 . 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX
00423DC6 . 3B45 DC CMP EAX,DWORD PTR SS:[EBP-24]
00423DC9 . 74 0A JE SHORT 00423DD5
00423DCB . C786 80010000>MOV DWORD PTR DS:[ESI+180],1 // не должно выполнится!

поправка // таких мест несколько...
...
00423E67 > \83BE 80010000>CMP DWORD PTR DS:[ESI+180],0
00423E6E ^ 0F84 0DFFFFFF JE 00423D81 // прыжок должен быть


-----
[nice coder and reverser]




Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 14:47
· Личное сообщение · #9

Ну так я ж тебе (вам) и показал на эту процедуру
00423DAA . E8 34790000 CALL <SOME CRC> ; \DEBUGAPI.0042B6E3

Исправляем вот так:
0042B736 |. B8 696F9B09 MOV EAX, 99B6F69
0042B73B |. 33C9 XOR ECX, ECX
0042B73D |. BB 00000000 MOV EBX, 0
0042B742 |. 4B DEC EBX
0042B743 |. 33D2 XOR EDX, EDX
0042B745 |. BF FF6F4400 MOV EDI, DEBUGAPI.00446FFF
0042B74A |. 90 NOP
0042B74B |. 90 NOP
0042B74C |. 90 NOP
0042B74D |. 90 NOP
0042B74E |. 90 NOP
0042B74F |. 90 NOP
0042B750 |. 90 NOP
0042B751 |. 90 NOP
0042B752 |. 90 NOP
0042B753 |. 90 NOP
0042B754 |. 90 NOP
0042B755 |. 90 NOP
0042B756 |. 90 NOP
0042B757 |. 90 NOP
0042B758 |. 90 NOP
0042B759 |. 90 NOP
0042B75A |. 90 NOP
0042B75B |. 90 NOP
0042B75C |. 90 NOP
0042B75D |. 90 NOP
0042B75E |. 90 NOP
0042B75F |. 90 NOP
0042B760 |. 90 NOP
0042B761 |. 90 NOP
0042B762 |. 90 NOP
0042B763 |. 90 NOP
0042B764 |. 8B4D 14 MOV ECX, [ARG.4]
0042B767 |. 6A 01 PUSH 1
0042B769 |. F7D0 NOT EAX
0042B76B |. 8901 MOV DWORD PTR DS:[ECX], EAX
0042B76D |. 58 POP EAX
0042B76E |. EB 02 JMP SHORT DEBUGAPI.0042B772

где в eax загоняется контрольная сумма полученная при первом проходе этой процедуры и усе.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 14:51
· Личное сообщение · #10

Тока никому не говори тсс.. ТыпроверкуиотключениеBPMнашел? Зашифровал однако круто я вопрос. Стыдно а я нет




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 25 июля 2006 14:57 · Поправил: Hellspawn
· Личное сообщение · #11

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

-----
[nice coder and reverser]




Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 17:31
· Личное сообщение · #12

Ну вот теперь не глючит а молча работает
rapidshare.de/files/26958859/DEBUGAPISPY3_0.rar.html



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 25 июля 2006 17:32
· Личное сообщение · #13

Пошел на версию профи посмотрим что там.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 26 июля 2006 14:56
· Личное сообщение · #14

Вот держите профессиональную версию с расширенными возможностями

rapidshare.de/files/27068270/DEBUGAPISPYPRO3_6.rar.html

Потестите



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 26 июля 2006 15:00
· Личное сообщение · #15

А чуть не забыл надо скачать дистрибутив с сайта автора про версию (pc license)




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 июля 2006 16:10 · Поправил: Hellspawn
· Личное сообщение · #16

Medsft распаковал, молодец, а мне до конца довести лень
кстати зарегить мона ещё проще...

@DEBUGAPI_00431460 // волшебная процедура
...
MOV ECX,DWORD PTR [ESI+$018] // этот код должен выполниться...
PUSH 1
POP EAX
MOV DWORD PTR [ECX+4],EAX
MOV ECX,DWORD PTR [ESI+$018]
MOV DWORD PTR [ECX],EAX
...
04314DC JMP SHORT 004314D3 // делай раз
00431492 90 NOP // делай
00431493 90 NOP // два
...
прога зарегена

кстати сама прога разочаровала.. как то не очень она

-----
[nice coder and reverser]




Ранг: 30.6 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 28 июля 2006 12:27
· Личное сообщение · #17

Medsft
Вот держите профессиональную версию с расширенными возможностями
...
Потестите

После перезагрузки окно программы "замерзает", т.е. не реагирует на мышь, клаву. Отказывается сохранять конфиг.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 28 июля 2006 14:53 · Поправил: Medsft
· Личное сообщение · #18

В начале надо проинсталлировать дистрибутив с сайта www.autodebug.com http://www.autodebug.com (версия про pc-license)/ а потом заменить ехешник



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 28 июля 2006 14:56
· Личное сообщение · #19

Какой-такой перезагрузка а?



Ранг: 30.6 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 28 июля 2006 16:43
· Личное сообщение · #20

Имелась ввиду перезагрузка компа



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 01 августа 2006 18:50
· Личное сообщение · #21

Ну и что пошло?



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

Создано: 08 ноября 2006 01:15
· Личное сообщение · #22

на оф сайте уже версия 4.0.6
а местные ссылки на рапиду издохли..
хотца посмотреть эту тузлу...


<< . 1 . 2 . 3 .
 eXeL@B —› Основной форум —› Исследование Auto Debug 3.0
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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