Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос JVMTI detection bypass — как скриншаринги вроде Ocean палят Retra

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Окт 2025
Сообщения
102
Реакции
4
Народ, кто ковырялся в JVMTI и обходе скриншарингов/античитов, нужна инфа.

Ситуация такая: некоторые скриншаринг‑утилиты (из того, что знаю — Ocean и подобные) каким‑то образом детектят использование JVMTI и его функций, типа `RetransformClasses` и прочих инструментальных штук. В итоге любые попытки юзать агент для runtime‑модификации классов сразу вызывают подозрение.

Интересует два момента:

1. Как вообще могут детектить JVMTI?
Вариантов в голове несколько, но не уверен, что именно используют такие тулзы:
- проверка загруженных агент‑библиотек (`-agentpath`, `-agentlib`, подключённые .dll/.so и т.п.);
- сканирование процесса на наличие определённых экспортов/строк, связанных с JVMTI;
- мониторинг активности вроде вызовов `RetransformClasses` / `RedefineClasses` (по косвенным признакам, задержкам, поведению JVM);
- проверка флагов/опций запуска JVM, указывающих на активный инструментальный агент.

2. Что можно сделать, чтобы это обойти/минимизировать палевность?
Интересуют не “общие слова”, а реальные подходы:
- маскировка или нестандартная загрузка агент‑библиотеки (не через типичный `-agentpath/-agentlib`);
- минимизация или изменение паттерна вызовов `RetransformClasses`, чтобы не спамить этим на глазах у детектора;
- использование альтернативных техник вместо прямого `RetransformClasses`, если такие вообще есть для нужных задач;
- какие‑то трюки с тем, чтобы агент выглядел как обычный “легитный” профайлер/дебагер, а не как чит.

Если кто‑то уже сталкивался конкретно со скриншарингом уровня Ocean и подобными решениями, и имеет представление, что именно они смотрят (подключённые агенты, сигнатуры, паттерны поведения JVM и т.д.) — отпишитесь, пожалуйста.

Интересует даже не готовый “рецепт обхода”, а хотя бы понимание в духе:
“они, скорее всего, детектят вот это и вот это, а вот это их не интересует”, чтобы было, от чего отталкиваться при разработке.
 
Народ, кто ковырялся в JVMTI и обходе скриншарингов/античитов, нужна инфа.

Ситуация такая: некоторые скриншаринг‑утилиты (из того, что знаю — Ocean и подобные) каким‑то образом детектят использование JVMTI и его функций, типа `RetransformClasses` и прочих инструментальных штук. В итоге любые попытки юзать агент для runtime‑модификации классов сразу вызывают подозрение.

Интересует два момента:

1. Как вообще могут детектить JVMTI?
Вариантов в голове несколько, но не уверен, что именно используют такие тулзы:
- проверка загруженных агент‑библиотек (`-agentpath`, `-agentlib`, подключённые .dll/.so и т.п.);
- сканирование процесса на наличие определённых экспортов/строк, связанных с JVMTI;
- мониторинг активности вроде вызовов `RetransformClasses` / `RedefineClasses` (по косвенным признакам, задержкам, поведению JVM);
- проверка флагов/опций запуска JVM, указывающих на активный инструментальный агент.

2. Что можно сделать, чтобы это обойти/минимизировать палевность?
Интересуют не “общие слова”, а реальные подходы:
- маскировка или нестандартная загрузка агент‑библиотеки (не через типичный `-agentpath/-agentlib`);
- минимизация или изменение паттерна вызовов `RetransformClasses`, чтобы не спамить этим на глазах у детектора;
- использование альтернативных техник вместо прямого `RetransformClasses`, если такие вообще есть для нужных задач;
- какие‑то трюки с тем, чтобы агент выглядел как обычный “легитный” профайлер/дебагер, а не как чит.

Если кто‑то уже сталкивался конкретно со скриншарингом уровня Ocean и подобными решениями, и имеет представление, что именно они смотрят (подключённые агенты, сигнатуры, паттерны поведения JVM и т.д.) — отпишитесь, пожалуйста.

Интересует даже не готовый “рецепт обхода”, а хотя бы понимание в духе:
“они, скорее всего, детектят вот это и вот это, а вот это их не интересует”, чтобы было, от чего отталкиваться при разработке.
Я вот понять не могу, ты через чат гпт текст составляешь или че? Просто всё что тут написано, это просто пиздец полный.
Держи два паттерна которые палят всю твою хуйню, и даже если ты там какие то другие системы загрузки агента будешь использовать, это ничего не поменяет.
"Рецепт обхода" 99 1E E0 FC , 16 00 08 00
скриншаринг
 
Народ, кто ковырялся в JVMTI и обходе скриншарингов/античитов, нужна инфа.

Ситуация такая: некоторые скриншаринг‑утилиты (из того, что знаю — Ocean и подобные) каким‑то образом детектят использование JVMTI и его функций, типа `RetransformClasses` и прочих инструментальных штук. В итоге любые попытки юзать агент для runtime‑модификации классов сразу вызывают подозрение.

Интересует два момента:

1. Как вообще могут детектить JVMTI?
Вариантов в голове несколько, но не уверен, что именно используют такие тулзы:
- проверка загруженных агент‑библиотек (`-agentpath`, `-agentlib`, подключённые .dll/.so и т.п.);
- сканирование процесса на наличие определённых экспортов/строк, связанных с JVMTI;
- мониторинг активности вроде вызовов `RetransformClasses` / `RedefineClasses` (по косвенным признакам, задержкам, поведению JVM);
- проверка флагов/опций запуска JVM, указывающих на активный инструментальный агент.

2. Что можно сделать, чтобы это обойти/минимизировать палевность?
Интересуют не “общие слова”, а реальные подходы:
- маскировка или нестандартная загрузка агент‑библиотеки (не через типичный `-agentpath/-agentlib`);
- минимизация или изменение паттерна вызовов `RetransformClasses`, чтобы не спамить этим на глазах у детектора;
- использование альтернативных техник вместо прямого `RetransformClasses`, если такие вообще есть для нужных задач;
- какие‑то трюки с тем, чтобы агент выглядел как обычный “легитный” профайлер/дебагер, а не как чит.

Если кто‑то уже сталкивался конкретно со скриншарингом уровня Ocean и подобными решениями, и имеет представление, что именно они смотрят (подключённые агенты, сигнатуры, паттерны поведения JVM и т.д.) — отпишитесь, пожалуйста.

Интересует даже не готовый “рецепт обхода”, а хотя бы понимание в духе:
“они, скорее всего, детектят вот это и вот это, а вот это их не интересует”, чтобы было, от чего отталкиваться при разработке.
фанат hex_cat появился
 
Назад
Сверху Снизу