Загрузить пусть и нельзя, но можно оценить, что эти продукты уже далеко не школьные поделки, в которых за пару минут можно найти обход. Учитывая, какая у них клиентская база и какое количество читеров, все очевидные дыры уже закрыты. LastNoob, у тебя, случайно, нет какой-нибудь установленной игрушки с EAC/BE? Скинь их драйвера, если есть
HoShiMin, > эти продукты уже далеко не школьные поделки, в которых за пару минут можно найти обход. Ошибаешься, на любой ядерный фильтр можно провести как минимум race-condition атаку, они не умеют писать стабильный код, это не смогли сделать даже аверы за столько лет(те синхрон в их драйверах).
Уязвимости имеют свойство закрываться - нужен фундаментальный способ обхода, не зависящий от ошибок разработчиков античита. А то, что в аверах годами живут рк-уязвимости - это печально...
HoShiMin, Когда будет семпл, тогда можно будет посмотреть и действительно что то обсудить. А так это ниочём.
Вы что все разве не поняли до сих пор? Стабильный код может только Инде писать, а не аверы и другие люди, которые этим десятки лет занимаются. --- Сообщение объединено, 31 дек 2019 --- При всём, Инде не шарит просто.
Rel, > а не аверы и другие люди, которые этим десятки лет занимаются. Я не хочу приводить старые ссылки на публикации, но ты ошибаешься. Мне у них уже нет смысла что то смотреть, в их драйверах, иной подход Прекрати писать гадости хоть на новый год, в конце концов ты можешь и надоесть.
ну, с таким же успехом можно поставить ОЧЕНЬ ПРОЧНУЮ ДВЕРЬ посередь пустыни и Надеяться, что все будут ломиться сугубо в неё обнаружить наличие внешней озу можно чрез игру с кэшем проца и даже дравера не требуется. бЯда кучи разрабов секуры в том, что они рассматривают абстрактную модель работы компа. меж тем, современные компы делаются по схеме плоского/сквозного ввода/вывода. То бишь жестянка получается весьма скоростной даже при серьёзных недостатках архи и довольно дешёвой. А вот для секурки имеем полный швАХЪЪЪ == всё разграничение доступа идёт сугубо чрез софтуху, закрыть все дырки она физически не может, да и то (что прикрывает) сродни набедренной повязке туземца. даже прикрыв все опасные асм команды эмулем, толку очень мало == гамис может использовать внешний таймер на серваче и/ль внутренний на основе дельт скоростей работы параллельных потоков (эмуль эти дельты здорово перекашивает). И опять же для расчёта дельт хватает ринг3. я уж совсем молчу об изысках вихревых токов
Закономерный вопрос - как? Что поменяется, когда мы переводим систему в виртуальный режим? Добавится ещё 4 уровня в таблице трансляций. И что? Кэш как работал, так и продолжит работать.
а акая основная функция кэша??? ускорять доступ к наиболее используемым переменным. если обращаешься к неиспользуемой области озу, то в кэше её конечно же няма и получаем длинный лаг. Благодаря спекулятиве проца можно обращаться к любому адресу без риска вызвать исключение и замерять общий лаг цикла таких обращений, для наиболее используемых областей озу задержка будет минимальной. к тому же, своп файл вирты скорей всего тоже в озу (полностью иль частично) короче, чем отношение озу хоста делить на озу вирты больше, тем больше будет палева с кэшем
Так ведь нужно знать, где и что искать. А как будут искать? Перебрать всё адресное пространство за обозримое время нереально. Значит, будут ориентироваться на гостевую PTE. А обращения к ней можно отфильтровать, скрыв записи о регионах нашего гипервизора. Кроме того - ещё один момент - используя гипервизор, мы развязываем руки в области ядерных хуков. Если реализована подмена памяти, то и PatchGuard нам уже не страшен и обход античитов упрощается.
адрес в озу кратен номеру слота в кэше. неважно акь подменяешь память (весь принцип виртуальной памяти того же хоста тоже строится на подменах), важно, что у тебя нет эффективного метода заблокировать доступ к памяти. опять же дажЬ в ссанном ринг3 можно прозрачно отчекать всю озу. С дравером и того хужей. полный камуфляж вирты (другими словами, стопудовый эмуль с гирляндами фильтров) тожЪ пустой, ибо тадЫ получаем жуДЪкую просаду профайла. короче, можно соорудить кучу тестов, кои чётко будут показывать, что вирта не соответствует профайлу заявленной жестянки. --- Сообщение объединено, 1 янв 2020 --- и си тесты вполне способны угадать реальный конфиг хоЗЪта
Всё равно упорно не понимаю, как ты стал бы искать по всему адресному пространству. Пусть обе страницы (исходная и подменная) в кэше. Всё, что ты делаешь - на соответствующий #VMEXIT меняешь физический адрес страницы в PTE с одного на другой (в зависимости от того, какой запрашивают доступ). И, собственно, что? Как ты узнаешь, что страницу подменили, если она спокойно читается и там лежат валидные данные? И второе - всё-таки, как искать скрытую гипервизором память? Вот у тебя адресное пространство от 0x00000000 до 0xFFFF..FF. Идти с шагом по 4 килобайта и смотреть, какое время доступа к каждому адресу? Понадобятся тысячелетия, чтобы обойти всю память и найти такие анклавы.
melt/spectre вроде бы тогда не заработал на нт, на сколько помню результаты показывали полный анстаб. Тут где то была тема.
У меня единственная игра на компе, та, что сейчас тестирую... Вопрос, наврное, глупый, но можно ли как-то использовать прерыванияя железа/биоса из системы, минуя системные прерывания? Сейчас вот почитал, как скрыть виртуальную машину и решил скачать игру, в данный момент качается, пока что клиент не ругается, думаю, управлять с виртуалки самый подходящий вариант В целом, планирую написать не чит, а бот, который будет бегать по координатам и выполнять дейлики, никаких преимуществ, кроме автоматизации он иметь не будет, а передача управления будет реализована через обычное управление по клавишам и мышке, вернее их эмуляция
Использовать для чего? Какие прерывания тебе нужны и что значит "минуя системные прерывания"? Повесить свой обработчик прерываний, перезаписав виндовый, можно, но тебя прихлопнет PatchGuard. Его надо или отключать или, опять же, с помощью гипервизора, обманывать проверки. Объясни подробнее, что в итоге ты хочешь получить с помощью прерываний. --- Сообщение объединено, 1 янв 2020 --- А какую ты тестируешь? Какой там античит?
Как вариант еще можно попробовать запустить игру на линксе под вайн стейджинг. Само собой ядерный протектор не заведется, но потенциально его можно зареверсить и съемулировать его присутствие для юзермодной части игры. Если все это заведеться, то инструментализацию процесса под вайном достаточно легко сделать. Но канеш это много работы.
HoShiMin, игра warframe По поводу прерываний, думаю, что должно быть какое-то прерывание, получающее прямой доступ к памяти, минуя winAPI, по факту, все, что мне требуется, это читать память
Ну посмотри в дизассемблере, как реализована функция NtReadVirtualMemory, проблема в том, что номера сисколов в отличии от Линукса не нормированны, и могут меняться от системы к системе. И еще, если защита реализована в режиме ядра, то вызов через сискол тебе не даст абсолютно ничего. --- Сообщение объединено, 1 янв 2020 --- https://j00ru.vexillium.org/syscalls/nt/64/
LastNoob, Ты не понимаешь главное, что такое адресное пространство. Что бы произвести выборку из чужого процесса твой должен два раза сменить его, переключить таблицы адресной трансляции. Почему два раза - что бы после чтения в промежуточный буфер вернуться в своё ап. Так и работает NtReadVM, два раза переключается ап, после первого переключения область памяти копируется в общий ядерный буфер(пул). Старшие адреса общие, они вне переключения ап, за исключением области гуя разумеется, на который обычно и происходит атака. Код самого ядра же не уязвим ни для каких атак. --- Сообщение объединено, 1 янв 2020 --- Немного поискал, вот https://seclists.org/fulldisclosure/2013/Dec/130 К таким атакам ядро не уязвимо. Его пишут спецы, там минимум синхронизаций в сервисной обработке. Данная задача не решаема никак.