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

 eXeL@B —› Вопросы новичков —› Антиотладка, в каком направлении копать ?
Посл.ответ Сообщение

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

Создано: 28 мая 2008 16:33
· Личное сообщение · #1

Доброй ночи.

Друг попросил поковырять программку:
www.examen.h18.ru/Exam2008_FSFR_Setup.exe

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

При наличии softice map32 вообще секции не показывает.

PEiD говорит что ничем не упаковано.

В общем хотелось бы самому разобраться, но знаний явно не хватает.

Придайте вектор движения, в какую сторону копать ?

Спасибо.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 28 мая 2008 17:11
· Личное сообщение · #2

Файл не запакован, антиотладка есть)))
0044289C /> \55 push ebp
0044289D |. 8BEC mov ebp, esp
0044289F |. 81EC 28030000 sub esp, 328
004428A5 |. A3 30114700 mov dword ptr ds:[471130], eax
004428AA |. 890D 2C114700 mov dword ptr ds:[47112C], ecx
004428B0 |. 8915 28114700 mov dword ptr ds:[471128], edx ; ntdll.KiFastSystemCallRet
004428B6 |. 891D 24114700 mov dword ptr ds:[471124], ebx
004428BC |. 8935 20114700 mov dword ptr ds:[471120], esi
004428C2 |. 893D 1C114700 mov dword ptr ds:[47111C], edi
004428C8 |. 66:8C15 48114>mov word ptr ds:[471148], ss
004428CF |. 66:8C0D 3C114>mov word ptr ds:[47113C], cs
004428D6 |. 66:8C1D 18114>mov word ptr ds:[471118], ds
004428DD |. 66:8C05 14114>mov word ptr ds:[471114], es
004428E4 |. 66:8C25 10114>mov word ptr ds:[471110], fs
004428EB |. 66:8C2D 0C114>mov word ptr ds:[47110C], gs
004428F2 |. 9C pushfd
004428F3 |. 8F05 40114700 pop dword ptr ds:[471140]
004428F9 |. 8B45 00 mov eax, dword ptr ss:[ebp]
004428FC |. A3 34114700 mov dword ptr ds:[471134], eax
00442901 |. 8B45 04 mov eax, dword ptr ss:[ebp+4] ; Тренажер.00429834
00442904 |. A3 38114700 mov dword ptr ds:[471138], eax
00442909 |. 8D45 08 lea eax, dword ptr ss:[ebp+8]
0044290C |. A3 44114700 mov dword ptr ds:[471144], eax
00442911 |. 8B85 E0FCFFFF mov eax, dword ptr ss:[ebp-320]
00442917 |. C705 80104700>mov dword ptr ds:[471080], 10001
00442921 |. A1 38114700 mov eax, dword ptr ds:[471138]
00442926 |. A3 34104700 mov dword ptr ds:[471034], eax
0044292B |. C705 28104700>mov dword ptr ds:[471028], C0000409
00442935 |. C705 2C104700>mov dword ptr ds:[47102C], 1
0044293F |. A1 B4D44600 mov eax, dword ptr ds:[46D4B4]
00442944 |. 8985 D8FCFFFF mov dword ptr ss:[ebp-328], eax
0044294A |. A1 B8D44600 mov eax, dword ptr ds:[46D4B8]
0044294F |. 8985 DCFCFFFF mov dword ptr ss:[ebp-324], eax
00442955 |. FF15 00614500 call dword ptr ds:[<&KERNEL32.IsDebug>; [IsDebuggerPresent
0044295B |. A3 78104700 mov dword ptr ds:[471078], eax
00442960 |. 6A 01 push 1
00442962 |. E8 330E0000 call Тренажер.0044379A
00442967 |. 59 pop ecx
00442968 |. 6A 00 push 0 ; /pTopLevelFilter = NULL
0044296A |. FF15 FC604500 call dword ptr ds:[<&KERNEL32.SetUnha>; \SetUnhandledExceptionFilter
00442970 |. 68 BCF44500 push Тренажер.0045F4BC ; /pExceptionInfo = Тренажер.0045F4BC
00442975 |. FF15 F8604500 call dword ptr ds:[<&KERNEL32.Unhandl>; \UnhandledExceptionFilter
0044297B |. 833D 78104700>cmp dword ptr ds:[471078], 0
00442982 |. 75 08 jnz short Тренажер.0044298C
00442984 |. 6A 01 push 1
00442986 |. E8 0F0E0000 call Тренажер.0044379A
0044298B |. 59 pop ecx
0044298C |> 68 090400C0 push C0000409 ; /ExitCode = C0000409 (-1073740791.)
00442991 |. FF15 94614500 call dword ptr ds:[<&KERNEL32.GetCurr>; |[GetCurrentProcess
00442997 |. 50 push eax ; |hProcess = 00000001
00442998 |. FF15 F4604500 call dword ptr ds:[<&KERNEL32.Termina>; \TerminateProcess
0044299E |. C9 leave
0044299F \. C3 ret


Глубоко не копал, заметил только это.

00429749 /$ 55 push ebp вот тут думаю все что тебе нужно

-----
xchg dword [eax], eax




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

Создано: 28 мая 2008 17:34 · Поправил: daiver
· Личное сообщение · #3

Большое спасибо.

Если не затруднит, принцип поиска антиотладочных средств, хотя бы в двух словах ?

Полагаю 0044289C ___report_gsfailure, можно найти посмотрев откуда вызывается импортируемая IsDebugPresent.
Есть ли более универсальный способ ?
Т.е. скажем так принцип поиска, если не знаком с большинством антиотладочных средств.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 28 мая 2008 19:05
· Личное сообщение · #4

Эм... Вообщето в инете много статей про антидебаг. Так что читать читать и еще раз читать. Проштудируй форум, потом сходи на васм, там почитай, кстати там недавно тема про антидебаг была

-----
xchg dword [eax], eax




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

Создано: 30 мая 2008 11:02
· Личное сообщение · #5

daiver пишет:
Т.е. скажем так принцип поиска, если не знаком с большинством антиотладочных средств.
- это реверсинг, исследуешь сам, тут нету определённого алгоритма



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

Создано: 30 мая 2008 12:23
· Личное сообщение · #6

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

Жаль времени на это увлекательное занатие нет.


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


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