Вызова DllMain

Тема в разделе "WASM.NT.KERNEL", создана пользователем accord, 10 фев 2020.

  1. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    hiddy,

    > Можно просто перехватить NtContinue

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

    > Важно обойтись без патчей, античиты спалят модификацию страницы

    Вот именно. Вначале я подумал что возможно есть какой то синхро механизм в загрузчике, при котором происходит сигнализация и ожидание синхро обьекта, но такого нет(есть только сигнализация эвента окончания инициал.).

    Ну и главное, если есть возможность завести драйвер и отключить kpp, то нет ничего лучше старого доброго метода:

    Код (Text):
    1. W10:
    2.     mov rax,cs:KiDebugRoutine
    3.     call rax ; KdpStub
    Поставив глобальную ловушку можно что угодно делать просто и быстро :yes4:
     
    q2e74 нравится это.
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    Indy_, в выньке 10 на полной защите не пашут вирты == локальному античиту достаточно проверить настройки бесятки и привести их в макс, тогда подгрузка неподписанных дров и вирт идёт Лесом-де Садом. + проверить наличие дров с известными дырами.
    Тебе я тут задам коварный вопрос == а ты чит собс-но для чего делаешь, для прокачки своего акка иль чего вообще? :)
     
  3. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.191
    Адрес:
    подполье
    Да мож чисто графон хачит подсветкой врожыны в прицеле сквозь туман и чад кутежа, например. Или параболу отображает для прицельно-навесного метания говн. Вроде и чит, но весьма локальный
     
  4. accord

    accord New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2020
    Сообщения:
    24
    Для продажи
     
  5. njeen

    njeen Active Member

    Публикаций:
    0
    Регистрация:
    26 мар 2017
    Сообщения:
    139
    Адрес:
    Ташлинск
    Таки тогда совет - накрывай поделие потом протектором получше. Для юзермодной части хоть той же themida (для дров, вроде её нет) . Т.к читы покупают одними из первых разработчики защит, дизасмят, и уже через 1-2 дня новая версия палится защитой.
     
  6. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Хотя эти действия однозначно сокращают поверхность атаки и делают разработку дороже, пока ничего подобного античиты не проверяют. В таком случае все будет упираться в обход патчгварда, что не является проблемой, тк читер контролирует систему.

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

    А вот проблема с последующим сканированием памяти античитом так и не решена.
     
  7. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    я стараюсь рассматривать проблему в более широком плане и особых перспектив у читов не проглядывается, пч античит может иметь локальную и сервачную часть.
    вопрос был не в этом. акие функи у чита??? он акие параметры акка прокачивает?
     
  9. accord

    accord New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2020
    Сообщения:
    24
    Да у меня в этом очень большой опыт в плане продажи но спасибо что хотели помочь)
    У меня не один чит каждый их них хукает - вызывает функции игры
    --- Сообщение объединено, 15 фев 2020 ---
    У меня вот такой вопрос почему у меня бдосит если я раньше времени перехвачу контекст? например мне надо дожидаться пока игра загрузится хотя я все делаю когда модули уже загружены со слипом 30 сек
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    бсод -- это хороший приём для защиты от реверса == можно публику топить в краш дампах + перед бсодом прожка может отсылать отчёт на сервач, а в офлайне сбрасывать отчёт на диск для последующей отсылки :)
    прожка также может строится на схемах ложно-успешных хуков и опять же стучать об этом на сервачи == прикол в том, что разраб делает чит на своей махинке и у него всё пашет куль, а у первого же клиента сплошное палево. по-хорошему вся вивисекция проги должна идти в офлайне с имитацией онлайн трафика (по мере надобности).
     
  11. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Не так выразился, с сигнатурным детектом все понятно, я имел ввиду сканер основанный на поведенческом анализе. Визор сам по себе является аномалией и оставляет артефакты, их собственно и отловит такой сканер.

    Была бы еще эта сервачная часть, которая получает достаточно нужной информации от игрового клиента и своевременно обрабатывает ее, это ведь большие затраты. У разрабов игр и так бюджет сильно ограничен, часто ведь и защиту докупают уже потом, после получения прибыли, ни о какой интеграции с игрой не может быть и речи в таком случае.
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    hiddy,

    > сканер основанный на поведенческом анализе

    Аверы детекты на поведении апп строят, но там события получаются из виртуальной машины. А как с античит поведение апп получит.. только если какие то функции похучит.
    --- Сообщение объединено, 15 фев 2020 ---
    hiddy,

    Вот тут есть норм пример https://wasm.in/threads/avanguard-the-win32-anti-intrusion-library.33212/page-6#post-410185

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

    А на счёт визоров - там палить нечего, десяток локальных сервисов, аллокация памяти и ничего больше. На чём строить поведенческий детект не понятно. Есчо не обязательно всё апп крутить как в примере, только защищаемые блоки на время не безопасных операций. Выше я упоминал отладочный вектор, можно обойти KPP. Создать условия при которых начало функции проверки вызовет исключение, в простейшем случае записать туда int3; когда сработает ловушка восстановить код и вектор, в стеке заменить адрес возврата на стаб и отдать управление. При возврате поставить int3. Или можно трассировать/визором пройти.
    Смысл в том, что возможна частичная обработка, спец механизмы запускаются в нужном месте на некоторое время, далее апп работает как обычно.
     
  13. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Это один из возможных вариантов, поиск логических ошибок и недостатков архитектуры в самой защите. Некоторые античиты считают вообще все исполняемые страницы подозрительными. Визор здесь ничем не поможет, сканер отловит само тело визора и буферы исполняемой памяти, которые он утилизирует во время работы. Вообщем возникает ситуация как с курицей и яйцом..

    А системный код можно через визор крутить? Например для выполнения системного кода в обход хуков и/или модификации кода на лету ( опять же для обхода хуков ).
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    hiddy,

    > сканер отловит само тело визора

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

    > А системный код можно через визор крутить?

    Кто его знает, я эту задачу не рассматривал, так как даже в юзермод это всё сложно; сделать то же в ядре.. может и можно, но эта задача - оверхед по сложности реализации. Там делается иначе я говорил, KDR(отладочный вектор), сейчас поищу тебе ключевой древний док.
    --- Сообщение объединено, 16 фев 2020 ---
    hiddy,

    2009 год, эта была ключевая публикация(подмена выборки через смещение), от туда и пошли техники по подмене выборке и данных, те 4-ре публикации у меня это продолжение. Смысл там был в том, что адресация относительна, а значит данные существуют только при их выборке(через сегментное смещение базы). Это можно реализовать двумя путями - визор или ловушки.
     

    Вложения:

    • IDP.pdf
      Размер файла:
      216,7 КБ
      Просмотров:
      332
  15. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    если у игры нет денег на приличные датацентры, то это игра из оперы "неуловимый джо" == им совсем ни-акой защиты не нужно, она у них уЖО ИДЕАЛЬНА :laugh1::laugh2::laugh3:
    hiddy, Indy_,

    Друзья, визор при нормальной защите действительно не поможет..

    1. прожка имеет кучу способов контролировать свою целостность..
    1.1. чрез проверку хэш-сумм.
    1.2. чрез контроль профайла..
    1.2.1 обычные счётчики в многопоточном эппе позволяют получать дельты скорости меж потоками (дебажники, хуки, вирты, эмули) их корёжат.
    ======
    и цЭ нЭ повнЫй лЫ$t :blush2::crazy: :)
     
  16. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    UbIvItS,

    > Друзья, визор при нормальной защите действительно не поможет..

    А можно пример нормальной" ?

    Я решил посмотреть, выбрал blackbox". Оно палит VMware, есчо и протектора слой. Там куча замеров профайла, но ничего не мешает симулировать счётчики. Решилось быстро, поиском обычного vm-бэкдора https://sites.google.com/site/chitchatvmback/backdoor

    I/O в этом случае не приводит к исключению и ловушками этот детект не найти, как и сигнатурно. Только если визором крутить. vm.png r.png
     
  17. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Все равно не понимаю. Как визор работающий в юм, может подменить данные для античита работающего в км? Вот например часть ядерной защиты: https://github.com/adrianyy/EACReversing.
     
  18. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    hiddy,

    Сложно в одном режиме с защитой данные подменить. В разных режимах(это касается и ав вирт машин) разная адресация и что главное выборка друг для друга не доступна, на то она и изоляция.

    > Вот например часть ядерной защиты

    Может бинарь есть, по ссылке нечитаемый мусор после декомпиляции.
    --- Сообщение объединено, 16 фев 2020 ---
    hiddy,

    Ты видос выше по ссылке посмотрел и материал выше прочитал ?

    Там код затёрт нулями. Но эти нули только для ядра(отладчик читает память NtReadVM). Локально же там нулей нет, точнее они в памяти, но к ней выборки нет - она симулируется. Получается что для двух модов содержимое памяти разное. Для прямой выборки в юм там код, для ядра там нули :preved:

    Матчасть https://wasm.in/blogs/softvernye-anklavy.548/
     
  19. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    так симулировать счётчики иль всё же бэкдор???
     
  20. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    UbIvItS,

    И то и другое(1.2.1 на всякий случай).

    vmx.png