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

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


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

Создано: 08 января 2007 05:25 · Поправил: Hellspawn
· Личное сообщение · #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

-----
[nice coder and reverser]




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 08 января 2007 06:29
· Личное сообщение · #2

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



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 08 января 2007 06:31
· Личное сообщение · #3

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

-----
SaNX




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 08 января 2007 06:36
· Личное сообщение · #4

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



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 08 января 2007 06:39
· Личное сообщение · #5

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

6c40_08.01.2007_CRACKLAB.rU.tgz - Olly Advanced v1.25.rar

-----
SaNX




Ранг: 160.9 (ветеран), 1thx
Активность: 0.050
Статус: Участник

Создано: 08 января 2007 06:43
· Личное сообщение · #6

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



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

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

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

С экзетулза:

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

-----
SaNX




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

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

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




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

Создано: 08 января 2007 07:56
· Личное сообщение · #9

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

-----
[nice coder and reverser]





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

Создано: 08 января 2007 07:56
· Личное сообщение · #10

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

-----
Researcher





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

Создано: 08 января 2007 07:59
· Личное сообщение · #11

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

-----
Researcher




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

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

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

615d_08.01.2007_CRACKLAB.rU.tgz - snd-invisibleollydbgandknownpluginsv1.0.universalpatch.zip




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

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

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



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

-----
[nice coder and reverser]





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

Создано: 09 января 2007 00:18
· Личное сообщение · #14

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

0579_09.01.2007_CRACKLAB.rU.tgz - poc.rar

-----
Недостаточно только получить знания:надо найти им приложение





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

Создано: 09 января 2007 02:57
· Личное сообщение · #15

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

-----
[nice coder and reverser]





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

Создано: 09 января 2007 04:03
· Личное сообщение · #16

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

cab1_09.01.2007_CRACKLAB.rU.tgz - ANTI_RING3.rar



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 09 января 2007 06:17
· Личное сообщение · #17

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




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 09 января 2007 11:04
· Личное сообщение · #18

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



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 09 января 2007 11:20
· Личное сообщение · #19

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

200f_09.01.2007_CRACKLAB.rU.tgz - advancedolly126b12.dll



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

Создано: 09 января 2007 11:24
· Личное сообщение · #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 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 09 января 2007 12:21
· Личное сообщение · #21

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

-----
Недостаточно только получить знания:надо найти им приложение





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

Создано: 09 января 2007 12:33 · Поправил: Hellspawn
· Личное сообщение · #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

-----
[nice coder and reverser]




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

Создано: 09 января 2007 13:03
· Личное сообщение · #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.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

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

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

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

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


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

-----
[nice coder and reverser]




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

Создано: 09 января 2007 22:29
· Личное сообщение · #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 //возврат назад




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 января 2007 23:56
· Личное сообщение · #26

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




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

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

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

-----
[nice coder and reverser]





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

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

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

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

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

-----
Тут не могла быть ваша реклама




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

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

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


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

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



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

Создано: 10 января 2007 02:54
· Личное сообщение · #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
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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