Пишу ботинок для MMORPG. Посоветуйте пожалуйста метариал к прочтению и/или примеры реализации внедрения в ring0 с последующим сокрытием от пользовательского кода. Задача написать ПО, которое будет принимать инструкции от удаленного веб-сервиса. Инструкции могут быть следующего типа: получить скриншот, послать движение / клик мыши, послать сочетания клавиш клавиатуры. Разрабатываемое ПО устанавливается пользователем по своему желанию и скрывается только после запуска ПО и до запуска MMORPG. Хаки / эксплойты прошу не предлагать, интересуют только легитимные способы внедрения. Целевые ОС: windows 7/8 ввиду более продвинутого DDK. Ранее был полезный ресурс rootkit[dot]com, но сейчас, к сожалению, закрылся.
То есть Вы предлагаете на пользовательском уровне сражаться за системные функции? Объясню почему данный метод мне не подходит. Дело в том, что в больших коммерческих играх вопрос ботоводства стоит на столько серьезно, что разработчики игр идут на довольно большие затраты по борьбе с ботами. Так, например, в WoW используются так называемые Вардены. Варден - это такой код, который клиент игры запрашивает с сервера, и выполняет его. Варденов много и они разные. Общее их количество и состав неизвестен. Некоторые из них простые: сканируют окна и ищут окошки ботов. Некоторые из них сигнатурные - ищут известные ботинки. А вот некоторые - эврестические. К тому же зарание неизвестно какой код к тебе придет. Известно только, что разработчики игр пока что не идут на написание ring0 систем, органичиваясь пользовательскм кодом. Но некоторые игры требуют права администратора. В мои задачи входит не соревноваться с разработчиками игры в изяществе, а коренным образом решить проблемму. Выбираю из трех способов на сегодняшний день: подобия руткита, железной бюджетной IP KVM и RDP или аналога. Ring0 пока предпочтительнее, так как дает кроме переферии еще доступ к пакетам игры и файлам. К сожалению, предлагаемый Вами способ не дает 100 защиты от обнаружения техническими средствами (гейммастреский контроль и поведение бота в этой теме не рассматриваю).
в чем вообще состоит задача?тогда получается 100% способа нету.нужно сокрыть какие то файлы определенные?
Задача состоит в том, чтобы эмулировать переферию и при этом полностью скрыться от уровня прикладного ПО, то есть чтобы используя API невозможно было обнаружить управляющую часть. В ядро системы ни одна игра из нужных мне не лезет, в отличии от антивирусов. Крайнее решение и 100% гарантия - IP KVM, но хочется обойтиясь без дополнительного железа средствами драйвера уровня системы. Если я сам правильно понимаю технически задачу, то нужно: скрыть файл ПО, скрыть память ПО и скрыть выполняемый процесс ПО. Коммуникацию с сервером скрывать не надо, я ее пошифрую. Так же необходимо предусмотреть выгрузку ПО по команде пользователя или по завершению процесса игры. Буду благодарен за любой материал или примеры по указанной тематике.
http://code.msdn.microsoft.com/windowshardware/passThrough-File-System-f9975611#content Мб http://msdn.microsoft.com/en-us/library/windows/hardware/ff554670%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff559951%28v=vs.85%29.aspx