- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 617
- Реакции
- 16
Парни, такая тема: пилю бота для старой доброй Ragnarok Online (приватка с защитой Gepard Shield). Сейчас все работает через внешнюю эмуляцию кликов мыши и нажатий клавиш — костыль еще тот. Навигация высчитывается по координатам, но это дико неудобно и ненадежно.
Суть задачи:
Хочу дергать игровую функцию walk напрямую из кода. В IDA уже все расковырял, псевдокод функции на руках, оффсеты есть. Но главная проблема — доставить этот код в процесс и исполнить его.
Что уже пробовал (и что не взлетело):
Технические детали:
Игра древняя, но Gepard Shield — штука противная. Если он блочит ProcMon по имени процесса, попробуйте просто переименовать бинарник или сменить Title окна. Если же там идет чек по драйверу — дело хуже.
Кто сталкивался с этим щитом в последнее время? Реально ли под ним заставить работать интернал-логику без полноценного байпаса самого античита? Делитесь опытом, может есть более элегантные способы исполнения кода в контексте RO, чем старый добрый CreateRemoteThread.
Суть задачи:
Хочу дергать игровую функцию walk напрямую из кода. В IDA уже все расковырял, псевдокод функции на руках, оффсеты есть. Но главная проблема — доставить этот код в процесс и исполнить его.
Что уже пробовал (и что не взлетело):
- DLL Injection: Юзал Extreme Injector, писал свои мануал-мапперы и даже кернел-инжекты. Gepard душит все — игра либо не стартует, либо моментально закрывается. Похоже, там стоит жесткий мониторинг на LdrLoadDll или заголовок модуля.
- Пакеты (WinDivert): Пакеты зашифрованы по самые помидоры. Реверсить протокол под Gepard — то еще удовольствие, пока отложил этот вариант.
- Хуки WinSock: Ставил брейкпоинты на
в ws2.dll, но они тупо не триггерятся. Похоже, они юзают либо кастомную обертку, либо жесткий инлайн.Код:
send - DLL Hijacking: Хотел глянуть, какие либы можно подменить, но Gepard сурово блочит Process Monitor, так что прочекать загрузку модулей проблематично.
Технические детали:
Игра древняя, но Gepard Shield — штука противная. Если он блочит ProcMon по имени процесса, попробуйте просто переименовать бинарник или сменить Title окна. Если же там идет чек по драйверу — дело хуже.
Если обычный инжект не лезет, есть вариант глянуть в сторону Thread Hijacking или поискать Code Caves в легитных модулях. Еще как вариант — использование шеллкода через драйверное чтение/запись памяти, минуя создание новых потоков в процессе.
Кто сталкивался с этим щитом в последнее время? Реально ли под ним заставить работать интернал-логику без полноценного байпаса самого античита? Делитесь опытом, может есть более элегантные способы исполнения кода в контексте RO, чем старый добрый CreateRemoteThread.