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

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


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

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

Сейчас на форуме: panlik (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› ScyllaHide
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 .
Посл.ответ Сообщение

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

Создано: 27 июня 2017 14:43 New!
Цитата · Личное сообщение · #1

Плаг теперь на github'е
https://github.com/x64dbg/ScyllaHide/releases

Релиз свежий от 24.06.2017.

Добавлено спустя 24 минуты
Нуждающимся добавил x64 плаг под иду (sdk 6.95)

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

| Сообщение посчитали полезным: zNob, parfetka, mak, neprovad, VOLKOFF, plutos, nice, VodoleY, dzikar



Ранг: 539.1 (!)
Статус: Участник
оптимист

Создано: 8 сентября 2019 01:51 New!
Цитата · Личное сообщение · #2

Bronco пишет:
Пока не вкурил, на чём сабж палится

Может что новое?)


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

Создано: 8 сентября 2019 02:21 · Поправил: Bronco New!
Цитата · Личное сообщение · #3

difexacaw пишет:
Лучше вообще не трогать др-контекст

Под Вин10.1607 с версией плагина сцилы трёхлетней давности на этом же таргете всё было шикодан..))
Борода вылезла на свежем билде винды,и даже со всежей сборкой сцилы. а соскочить на старый билд девайсы пока не дают( Ну не было интелоптейн когда юбиленная выходила) А под крышку не полезу, эликтричества боюС..))
Обычные бряки с вмп не прокатывают, проверки участков кода на црц никуда не делись. Так что под дбг, юзать только аппаратные, контекст которых чекают на выходе из процедуры общей проверки на отладку.
Вариант с визором пока рановато, его ещё собрать надо на новой оси.
ClockMan пишет:
Может что новое?)

Ага...в новой среде гранаты, уже не того калибра


Ранг: 539.1 (!)
Статус: Участник
оптимист

Создано: 8 сентября 2019 03:17 New!
Цитата · Личное сообщение · #4

Bronco
Сча скачал с офф сайта демку свежую, короче сисек больше нет,старый метод вернулся


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

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

Bronco

У меня нет 10, так что я не могу посмотреть. Сделай область памяти с кодом не исполняемой, в ловушке копируй исходную область в исполняемую, ставь точку останова и отдай туда управление с пересчётом дельты областей. Тогда исполнение будет проходить в изменённой области, а выборка останется в исходную, таким образом код не увидит изменений.


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

Создано: 8 сентября 2019 12:30 New!
Цитата · Личное сообщение · #6

Bronco
Вот тут все расписано почему Сцилла на Вин10 последних билдов не скрывает дебагер от вмпрота 3ей версии.
Вообще в этой теме разобрана вся защита вмпрота для любых виндовс.


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

Создано: 9 сентября 2019 00:23 · Поправил: Bronco New!
Цитата · Личное сообщение · #7

Vamit пишет:
Вот тут все расписано

вот как-то не заметил, где конкретно по билдам винды расписано?
описан обычный набор антидебага вмп третей линейки,в сишном представлении, для нт_апи.
кода как вмп получает дескрипторы сервисов, для системных вызовов, в сеплах нет.
На свежем билде винды траблы с аппаратными прерываниями. но утверждать пока не буду, чей косяк, сцилкин или отладчика. По ретурнам хуков сцилки, на этом блиде винды, позже отпишусь, пока другим занят.
-------------
Это конечно ржачно, но дерьматологу большой привет...
Аппаратные на сисколах "не работают", по причине "косяков" в самом вмп. версия где то 3х летней давности
Предполагаю, что дескрипторы сервисов в вмп прописаны были статически, для каждого билда винды отдельно.
В кейсе нет Айди свежего билда винды, в итоге по дефолту сиськи просто не юзаются.
Дебагер на высоте(2018), Сцила безупречна(2017).
Детект отладки был после сингл_степ , на чтении др_контекста. в скрипте обход есть, но кто знал что сисек вженЭма...


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

Создано: 9 сентября 2019 04:14 · Поправил: difexacaw New!
Цитата · Личное сообщение · #8

Bronco

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

Code:
  1. ; +
  2. ; !TF: !ZF
  3. ; TF: 0, ZF
  4. ;
  5. ; 86: 11 -> 00(TF)
  6. ; CM: 11 -> SL(TF)
  7. ;
  8. TrRpl proc uses ebx
  9.          mov ecx,8
  10.          xor ebx,ebx
  11.          mov dx,ss
  12.          .repeat
  13.                  mov eax,11B
  14.                  mov ss,dx
  15.                  mov ds,ax
  16.                  mov ss,dx
  17.                  mov ax,ds
  18.                  mov ds,dx
  19.                  add ebx,eax
  20.          .untilcxz
  21.          mov eax,ebx
  22.          .if Eax
  23.                  shr eax,3
  24.                  sub ax,dx
  25.          .endif
  26.          ret
  27. TrRpl endp
  28.  
  29. ; +-(W10?)
  30. ; !TF: 0x23, !ZF
  31. ; TF: 0, ZF
  32.  
  33. Tr86Gs proc C
  34.          mov ax,ss
  35.          mov ss,ax
  36.          mov gs,ax
  37.          mov ss,ax
  38.          mov ax,gs
  39.          test ax,ax
  40.          ret
  41. Tr86Gs endp
  42.  
  43. ; +
  44. ; TF: CF, 0x8
  45. ; !TF: !CF
  46. ;
  47. TrCMGs proc uses ebx esi
  48.          mov esi,8
  49.          xor eax,eax
  50.          xor ecx,ecx
  51.          xor edx,edx
  52.          xor ebx,ebx
  53.          mov cx,ss
  54.          .repeat
  55.                  mov ss,cx
  56.                  mov gs,dx
  57.                  mov ss,cx
  58.                  mov bx,gs
  59.                  add eax,ebx
  60.                  dec esi
  61.          .until Zero?
  62.          mov gs,cx
  63.          div ecx
  64.          bt eax,3
  65.          ret
  66. TrCMGs endp
  67.  
  68. ; +
  69. ; Zero if !TF.
  70. ;
  71. Tr86Sexit proc
  72.          %PENV Eax
  73.          mov eax,[eax].Yield
  74.          Call NtGateSid
  75.          not ecx
  76.          lea eax,[ecx][esp][3]
  77.          ret
  78. Tr86Sexit endp


Это древние как г мамонта инструменты, они сработают только на таком же древнем и как следствие простом. Трассировка ?

Code:
  1. %IGATE macro      ; ARGs: EDX
  2.          Int 2EH
  3.  
  4. ; Fast kill without user-fault and caller-ip.
  5.  
  6. if OPT_SEXIT_KILL eq TRUE
  7.          mov esp,ecx
  8.          lea edx,[edx][7]
  9.          jmp Edx
  10. endif
  11. endm


Не нравится ядру когда sysenter/sysexit вызывают с TF, не профайл путь обработки", так прямо в сурках ядра сказано.


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

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

difexacaw пишет:
Если сервисный вызов из своего кода в обход шлюза, то плаг управление не получит.

Так с сервисными вызовами сцилка не помощник, это было известно давно. И ничего не меняется, со времён вмп_сиськомёт Но..никто же не мешает, задетектить сами вызовы другими способами, а после детекта тупо передавать управление на аналог в ntdll.dll, и тут сцилка на подхвате. Собственно это же нужно, чтобы дойти до оеп аппа и дальше.


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

Создано: 9 сентября 2019 08:04 New!
Цитата · Личное сообщение · #10

вот как-то не заметил, где конкретно по билдам винды расписано?
кода как вмп получает дескрипторы сервисов, для системных вызовов, в сеплах нет.

Дескрипторы сервисов системных вызовов жестко прописаны в функции в зависимости от версии и билда винды (свитч конструкция по всем билдам). В конкретно указанном посте приведены способы детекта отладчика с которыми Сцилла не справляется (код тестировался на Вин10 с x...dbg и Сциллой).
Вообще-то в теме был приклеплен файл с восстановленным системным кодом вмпрота - загружай в Иду и смотри все методы защиты.


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

Создано: 9 сентября 2019 08:57 · Поправил: Bronco New!
Цитата · Личное сообщение · #11

Vamit пишет:
способы детекта отладчика с которыми Сцилла не справляется

у меня сборка сцилы 2х летней давности, всё что описано в посте перекрывает. то что свежие кобеняться, знаю.
Vamit пишет:
свитч конструкция по всем билдам

ну оно логично,что именно свитч, я так и предположил. //В кейсе нет Айди свежего билда винды
я так понимаю, что фуярь в пеб шО нить постарше текущей винды, и сиськи лесом идут..
Vamit пишет:
был приклеплен файл с восстановленным системным кодом вмпрота - загружай в Иду

Иду не юзаю, тяжёлая для меня. А есть слинкованный после девирта код загрузчика вмп?
ну или на сях подойдёт.


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

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

Иду не юзаю, тяжёлая для меня.
А чем, как не идой смотришь объектно-ориентированный дизасм код?
А есть слинкованный после девирта код загрузчика вмп?
В файле, с ЕП идет jmp на восстановленный код.
ну или на сях подойдёт.
Этого нет, разбирался по асму, реверсил только некоторые куски.


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

Создано: 9 сентября 2019 12:17 · Поправил: difexacaw New!
Цитата · Личное сообщение · #13

Bronco

> Так с сервисными вызовами сцилка не помощник

А зачем она тогда нужна, сцилл это сервисный фильтр и ничего более. Обход сервисов пилится за пол часа - снимается лог по ним и фаулт, затем фиксятся. Удобно это запускать только в режиме совместимости(wow), иначе можно ядро дёргать по тихому через инт, к примеру перемапить кодовую секцию нтдлл с RE, там зафиксить KiFast на KiInt, можно есчо дополнительно испорт поправить из юзер либ на новый нэйтив.

Vamit

> Дескрипторы сервисов системных вызовов жестко прописаны в функции в зависимости от версии и билда винды

Зачем хардкодить, если номера в каждом экспортном стабе, за исключением теневых, а они не нужны. Зачем крутить в цикле поиск в таблице id:handler, если можно индексировать или на крайняк использовать AVL ?
А есчо фильтрация на текущем стеке, если перед сервисным вызовом посчитать crc части стека ниже от текущей границы и после отработки некоторого блока с кодом посчитать заново, то это запалит любой такой фильтр, как и локальную трассировку. Фильтр как минимум должен переключать стек на свой собственный и там уже выполнять обработку. Это всё по нубски сделано, главное что это есть в меню отладчика.


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

Создано: 6 октября 2019 22:38 · Поправил: difexacaw New!
Цитата · Личное сообщение · #14

Есть такая фича в ядре:

Code:
  1. /***************************************************************************\
  2. * InitSystemHotKeys
  3. *
  4. * Called from InitWindows(), this routine registers the default system
  5. * hotkeys.
  6. *
  7. * History:
  8. * 12-04-90 DavidPe      Created.
  9. \***************************************************************************/
  10. VOID SetDebugHotKeys()
  11. {
  12.     UINT VkDebug;
  13.  
  14.     VkDebug = FastGetProfileDwordW(NULL, PMAP_AEDEBUG, L"UserDebuggerHotkey", 0);
  15.     if (VkDebug == 0) {
  16.         if (ENHANCED_KEYBOARD(gKeyboardInfo.KeyboardIdentifier)) {
  17.             VkDebug = VK_F12;
  18.         } else {
  19.             VkDebug = VK_SUBTRACT;
  20.         }


- если под дебаг портом окно в фокусе, то нажатие F12(или SendInput(VK_F12)) приводит к созданию отладочного потока(win32k -> csrss -> DbgUi..), это тоже в сурках w2k есть. Сцилл это обходит?, я что то не нашёл такой опции
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 .
 eXeL@B —› Софт, инструменты —› ScyllaHide

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

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