eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: AlexKey, baff
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Протекторы —› Скрытие OllyDbg от EXECryptor
. 1 . 2 . 3 . 4 . 5 . >>
Посл.ответ Сообщение


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 8 января 2007 05:25 · Поправил: Hellspawn New!
Цитата · Личное сообщение · #1

собственно сабж, в принпице спрятать ольгу не сложно, все методы известны...
Перечислять всю антиотладку в говнопроте нет смыла...
но вот скачал прогу FastSatfinder на ней один из последних EXECryptor
(скорее всего в защите выставлены не все галки) но есть новый трюк с "Invalid Handle"

теперь ближе к делу, под олькой эта прога падаед, никак не могу заставить
её работать. Под моим Easy Debugger всё ок) достаточно было сделать

case DE.Exception.ExceptionRecord.ExceptionCode of
EXCEPTION_INVALID_HANDLE : ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_CONTINUE);
EXCEPTION_BREAKPOINT : Form1.ExceptionBreakpoint(DE);
EXCEPTION_SINGLE_STEP : Form1.ExceptionSingleStep(DE);
else ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_EXCEPTION_NOT_HANDLED);
end;


и всё как надо, я не могу понять почему, что-то олли не так обрабатывает...
просьба скачать прогу и попробовать запустить под любой сборкой олли (Snadow,OllIce и т.д.)!
поиграть плагинами, и если запуститься то отписаться какая сборка, плаги, ось
это очень важно...

тут прога:
2.28 mb
http://download-zone.org/10484 http://download-zone.org/10484

Ранг: 516.1 (!)
Статус: Участник

Создано: 8 января 2007 06:29 New!
Цитата · Личное сообщение · #2

трюк с invalid handle старый, но решения нет

Ранг: 453.1 (мудрец)
Статус: Участник
Android Reverser

Создано: 8 января 2007 06:31 New!
Цитата · Личное сообщение · #3

Av0id, Hellspawn
обычная олька, пропатченная antidetectolly_v2.2.4, с phant0m & ollyadvanced 1.25b17 с включенными только fixbugs %s%s и "Ignore and skip C0000008h (Inv Handle)" запускает fastsatfinder

Ранг: 516.1 (!)
Статус: Участник

Создано: 8 января 2007 06:36 New!
Цитата · Личное сообщение · #4

вас из дас phant0m? и откуда взялась 17 бета ollyadvanced? может выложишь на рапиду?

Ранг: 453.1 (мудрец)
Статус: Участник
Android Reverser

Создано: 8 января 2007 06:39 New!
Цитата · Личное сообщение · #5

Av0id
вот ollyadvanced. phant0m не могу дать, т.к. Hellspawn не разрешал.

{ Атач доступен только для участников форума } - Olly Advanced v1.25.rar

Ранг: 160.3 (ветеран)
Статус: Участник

Создано: 8 января 2007 06:43 New!
Цитата · Личное сообщение · #6

Толи меня глючит то ли это далеко не бета17. Парен ты чегото попутал.

Ранг: 453.1 (мудрец)
Статус: Участник
Android Reverser

Создано: 8 января 2007 06:46 · Поправил: SaNX New!
Цитата · Личное сообщение · #7

Cigan
а ну да, это Master Edition. Просто я в чэйнджлоге увидел, что фикс для invalid handle появился в 17 бетке.

С экзетулза:

Beta 17:
- Added option for C0000008h Exception Handling
- Added option for Termination-ignore of already terminated targets

Ранг: 516.1 (!)
Статус: Участник

Создано: 8 января 2007 06:48 · Поправил: Av0id New!
Цитата · Личное сообщение · #8

бла, я 1.25 перепутал с 1.26, которая сейчас beta 12


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 8 января 2007 07:56 New!
Цитата · Личное сообщение · #9

SaNX странно, ща буду смотреть.... может в винде дело у мну 2000
свой плаг я выложу позже, когда релиз версия будет


Ранг: 155.4 (ветеран)
Статус: Участник
Робо-Алкаш

Создано: 8 января 2007 07:56 New!
Цитата · Личное сообщение · #10

Простите за оффтоп
Что Олька не умерла? Тоесть автор, стал новые версии клепать?


Ранг: 155.4 (ветеран)
Статус: Участник
Робо-Алкаш

Создано: 8 января 2007 07:59 New!
Цитата · Личное сообщение · #11

Плагин ? Что за плагин? (я про Ollyadvanced)

Ранг: 78.8 (постоянный)
Статус: Участник

Создано: 8 января 2007 08:43 New!
Цитата · Личное сообщение · #12

Могу предложить для скрытия Ольки фичу от Seek'n'Destroy.

{ Атач доступен только для участников форума } - snd-invisibleollydbgandknownpluginsv1.0.universalpatch.zip


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 8 января 2007 14:48 · Поправил: Hellspawn New!
Цитата · Личное сообщение · #13

хочу поделиться своей радостью
(всего 1 плаг для скрытия) только это ещё не победа, прога стартует пару минут под олькой
на моём P III 866 и сыплет исключениями... Но прогресс уже налицо! пошёл я спать...



з.ы. олька "странно" обрабатывает "C000001E" + "C0000004" + "C0000008" ыыы)
пришлось патчить её бедную...


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 9 января 2007 00:18 New!
Цитата · Личное сообщение · #14

Проверь свой плаг на этой программе... От небезызвестных ARTeam

{ Атач доступен только для участников форума } - poc.rar


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 9 января 2007 02:57 New!
Цитата · Личное сообщение · #15

хех прикольно, похоу это только для ринг 3
у кого сайс стоит? потрассируйте плз этот детект, мне надо знать,
как он должен выполняться


Ранг: 105.9 (ветеран)
Статус: Участник

Создано: 9 января 2007 04:03 New!
Цитата · Личное сообщение · #16

Hellspawn
Все описания здесь:

{ Атач доступен только для участников форума } - ANTI_RING3.rar

Ранг: 120.2 (ветеран)
Статус: Участник

Создано: 9 января 2007 06:17 New!
Цитата · Личное сообщение · #17

А я что-то никак не пройду Detect clock manipulation


Ранг: 240.2 (наставник)
Статус: Участник

Создано: 9 января 2007 11:04 New!
Цитата · Личное сообщение · #18

Кто-нить может выложить OllyAdvanced а то зарегаться у китайчегов не могу

Ранг: 120.2 (ветеран)
Статус: Участник

Создано: 9 января 2007 11:20 New!
Цитата · Личное сообщение · #19

если версию 1.26 бета 12 то вот

{ Атач доступен только для участников форума } - advancedolly126b12.dll

Ранг: 52.6 (постоянный)
Статус: Участник

Создано: 9 января 2007 11:24 New!
Цитата · Личное сообщение · #20

Этот детект делает 2 исключения на первое Olly реагирует правильно и продолжает с флагом DBG_EXCEPTION_NOT_HANDLED, потом вызывается CloseHandle и происходит 2ое исключение, Olly реагирует на него также - тут то она и палится,( "in normal condition CloseHandle will never raise EXCEPTION_INVALID_HANDLE, never!!!")
если её заставить отреагировать на второе исключение так ->DBG_CONTINUE то всё будет круто.


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 9 января 2007 12:21 New!
Цитата · Личное сообщение · #21

ну читать мы умеем. лучше идею подай. как вариант смотреть eip исключения. и если там реально call CloseHandle(или где именно происходит исключение), то слать DBG_CONTINUE... Правда ещё как там написано некоторые вещи вызывают тоже самое (int 2e и т.д.). Так что мозги будет чем занять при написании. Кто решится - сообщите. У мну времени мало, так бы поисследовал багу


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 9 января 2007 12:33 · Поправил: Hellspawn New!
Цитата · Личное сообщение · #22

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

EXCEPTION_INVALID_HANDLE :
begin
If DWORD(DE.Exception.ExceptionRecord.ExceptionAddress) = $77F91C3C then
ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_CONTINUE)
else ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_EXCEPTION_NOT_HANDLED);
end;


и все тесты идут лесом... 77F91C3 почти в конце ntdll.KiRaiseUserExceptionDispatcher
возврат из CALL ntdll.RtlRaiseException

Ранг: 52.6 (постоянный)
Статус: Участник

Создано: 9 января 2007 13:03 New!
Цитата · Личное сообщение · #23

Hellspawn

Лучше по моему так :

EXCEPTION_INVALID_HANDLE :
begin
If DWORD(DE.Exception.ExceptionRecord.ExceptionAddress) = 0 then
ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_EXCEPTION_NOT_HANDLED)
else ContinueDebugEvent(DE.dwProcessId,DE.dwThreadId, DBG_CONTINUE);
end;

При NtRaiseException ExceptionAddress будет = 0 а при исключении из CloseHandle будет <> 0 =)
и никаких хардкорных адресов.


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 9 января 2007 13:04 · Поправил: Hellspawn New!
Цитата · Личное сообщение · #24

хех, при таком способе тест из xADT 1.2 говорит позитив) что не есть гууд...

мля объясните один момент... вот лог из олли:

adr = 007a9ea1
code= 80000004
--------------
adr = 77f91bbc // от куда это исключение?
code= 80000004
--------------
adr = 007af930
code =80000003
--------------
adr = 77f91bbc // и вот это
code= 80000004
--------------
adr = 007a8ed6
code= 80000004


его то ольки и не обрабатывает иногда...

Ранг: 52.6 (постоянный)
Статус: Участник

Создано: 9 января 2007 22:29 New!
Цитата · Личное сообщение · #25

Всё вылечил я Olly.
Тут выкладывали 2 тестера, после патча моя Olly их проходит на ура.
Кому интересно вот патч :

0043966A JMP 004AF684 //после 004AF20A (WaitForDebugEvent)


004AF684 PUSH 004D5714 //затертая команда
004AF689 CMP [DWORD 4D5720], C0000008 //invalid handle
004AF693 JNZ 004AF6A8
004AF695 CMP [DWORD 4D572C], 0 //адрес исключения
004AF69C JE 004AF6A8
004AF69E MOV [DWORD 4D5714], 0 //DBG_CONTINUE
004AF6A8 CMP [DWORD 4D5720], 0 //invalid handle
004AF6AF JNZ 004AF6C4
004AF6B1 CMP [DWORD 4D572C], 0 //адрес исключения
004AF6B8 JNZ 004AF6C4
004AF6BA MOV [DWORD 4D5720], C0000008 //подмена исключения
004AF6C4 JMP 0043966F //возврат назад


Ранг: 1964.9 (!!!!)
Статус: Модератор
retired

Создано: 9 января 2007 23:56 New!
Цитата · Личное сообщение · #26

Вообще говоря, данный метод работает не только против Ольки, но и против любых отладчиков. Для наиболее удобного обхода проще написать драйвер, который хучит закрытие хэндла и проверяет, передан ли валидный хэндл. Если да, то закрывает, если нет-то ничего не делает.


Ранг: 990.3 (! ! !)
Статус: Модератор
Author of DiE

Создано: 10 января 2007 01:43 · Поправил: Hellspawn New!
Цитата · Личное сообщение · #27

WarrioR проверь на xADT 1.2
хех, а как проверить хендл на валидность?


Ранг: 353.0 (мудрец)
Статус: Участник
resreveR

Создано: 10 января 2007 02:07 New!
Цитата · Личное сообщение · #28

Archer пишет:
который хучит закрытие хэндла и проверяет, передан ли валидный хэндл.

не закрытие..к несуществующему хендлу можно обратится по разному - все ранво будет исключение
Hellspawn пишет:
хех, а как проверить хендл на валидность?

аст тему на васме поднимал.. или у аста спроси.. или я ща поищу топ =)

Ранг: 56.3 (постоянный)
Статус: Участник

Создано: 10 января 2007 02:15 · Поправил: W[4Fh]LF New!
Цитата · Личное сообщение · #29

Hellspawn пишет:
хех, а как проверить хендл на валидность?


Попробовать продублировать его(DuplicateHandle)?

Что-то вроде:
if !DuplicateHandle(...,handle,...)
CloseHandle(handle);
/* Handle is valid */
else
/* Handle is invalid */

Ранг: 52.6 (постоянный)
Статус: Участник

Создано: 10 января 2007 02:54 New!
Цитата · Личное сообщение · #30

Hellspawn пишет:
WarrioR проверь на xADT 1.2


Все тесты проходит, но если запустить этот тестер через меню Open with OllyDbg то 1 тест не проходит.

Test: ZwQueryInformationProcess()
Message from test function: Nothing
Result: Debugger detected
. 1 . 2 . 3 . 4 . 5 . >>
 eXeL@B —› Протекторы —› Скрытие OllyDbg от EXECryptor

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS