Посл.ответ |
Сообщение |
Ранг: 33.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 22 сентября 2005 03:14 · Личное сообщение · #1
День добрый. Прошу оценить то, что написано ниже. Камнями не кидать, пожалуйста, я только предложил!
Вот тут в форуме, не так давно, была активна тема обнаружение Olly. Я хочу внести свой вклад в это дело. Сразу скажу, что тот, кто исследовал Obsidium (сам, а не так как в статье пропущен вызов "call edx", по адресу 102A169 в запакованном калькуляторе, хотя я статью не дочитал... ; там столько интересного вызывается :s1 знает эту фишку. Прилагаю два файла: один - дизассемблированный листинг из Obsidium'a (запакованный калькулятор), другой - ассемблерный текст защиты. Трассируем пошагово(асм. листинг откомпилированный, конечно) до вызова "int 1h", но в него не заходим (хотя, как хотите - это значения не имеет), и тыкаем F9 (у меня, кстати, выключены все Exception в OllyDbg)... Запускаем просто и тоже смотрим результат Вот такие вот пироги, как говорится, с капустой.
Жду ваше мнение. d78a_Documents.rar
| Сообщение посчитали полезным: |
|
Ранг: 33.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 22 сентября 2005 11:21 · Личное сообщение · #2
Ну чего все молчат?
| Сообщение посчитали полезным: |
Ранг: 78.6 (постоянный) Активность: 0.03↘0 Статус: Участник
|
Создано: 22 сентября 2005 15:11 · Поправил: read_me · Личное сообщение · #3
незнаю что у тебя показывает но у меня выводит из ольки "Olly not found"
упс, я с пьяну, при трасировки правда детектит
помоему на антитрасировку есть немало примеров...
| Сообщение посчитали полезным: |
Ранг: 40.0 (посетитель), 1thx Активность: 0.03↘0 Статус: Участник
|
Создано: 22 сентября 2005 16:17 · Личное сообщение · #4
olly неправильно обрабаывает эту хрень поэтому на int1 возникает два исключения подряд вместо одного. Но не прокатит такой способ, если не трассируешь, то он не сработает, а если трассируешь что мешает занопить или перепрыгнуть int1?
| Сообщение посчитали полезным: |
Ранг: 33.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 23 сентября 2005 04:46 · Личное сообщение · #5
Но ведь он работает.
| Сообщение посчитали полезным: |
Ранг: 78.6 (постоянный) Активность: 0.03↘0 Статус: Участник
|
Создано: 23 сентября 2005 06:44 · Личное сообщение · #6
впринцепе неплохой метод если кто небудет про int 1 знать
но если увидят то...
| Сообщение посчитали полезным: |
Ранг: 40.0 (посетитель), 1thx Активность: 0.03↘0 Статус: Участник
|
Создано: 23 сентября 2005 09:39 · Личное сообщение · #7
Devil
Да работает но какой смысл специально доходить до int1 и отпускать прогу, можно отпустить раньше. Лучше работают поиски окон с классами ACPUDUMP, ACPUREG, ACPUSTACK или вообще родительскому процессу в начало функции ContinueDebugEvent воткнуть какой-нибудь нехороший код
| Сообщение посчитали полезным: |
Ранг: 33.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 23 сентября 2005 11:07 · Личное сообщение · #8
Я ещё что-нибудь поищу. Может что найду.
| Сообщение посчитали полезным: |
Ранг: 40.0 (посетитель), 1thx Активность: 0.03↘0 Статус: Участник
|
Создано: 23 сентября 2005 11:47 · Личное сообщение · #9
Попробуй просто FindWindow с этими классами, а родительский процесс я не помню как искать, но это тоже ничего такой способ.
| Сообщение посчитали полезным: |
Ранг: 33.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 23 сентября 2005 11:50 · Личное сообщение · #10
Не, так и я могу, ведь это же не оригинально Я хотел ОРИГИНАЛЬНОСТИ!
| Сообщение посчитали полезным: |
Ранг: 40.0 (посетитель), 1thx Активность: 0.03↘0 Статус: Участник
|
Создано: 23 сентября 2005 12:29 · Личное сообщение · #11
Главное то не оригинальность а работоспособность
| Сообщение посчитали полезным: |
Ранг: 78.6 (постоянный) Активность: 0.03↘0 Статус: Участник
|
Создано: 23 сентября 2005 13:30 · Личное сообщение · #12
довай вот если хочешь поискать-поищи эпи такие как OutputDebugString
мож ещё с int можно наковырять
| Сообщение посчитали полезным: |