Посл.ответ |
Сообщение |
 Ранг: 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.6 (мудрец) Статус: Участник 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.6 (мудрец) Статус: Участник 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.6 (мудрец) Статус: Участник 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 //возврат назад
|
 Ранг: 1973.6 (!!!!) Статус: Модератор 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
|