| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > DirectX |
| Автор: TOXA2 3.8.2007, 19:18 |
| имеется игра Warcraft III. суть: кто то созддаёт карту по локальной сети, потом к нему подсоединяется народ. когда мест больше нету, создавший карту стартует,и игра начинается. Задача: отловить старт игры. Как можно это сделать? Сделать это 100% реально,т.к. я нашёл одну программу реализующую эту функцию, методом установки хука на DirectX-API... Слышал,что надо ставить хук на одну из функций DirectX,но незнаю на какаую... Может кто-то что нибудь знает по этому поводу? Кстать забыл сказать... начало игры сопровождается двумя событиями: 1)кнопка "Начаь игру" становится неактивной 2)начинается отсчёт до старта(пишется сообщение в чате "Игра начнётся через 5...") |
| Автор: Ak47black 3.8.2007, 19:26 |
| TOXA2, тута надо парсить трафик и с DirectX несвязанно Хотя может и есть извращения с DirectX, но ябы так не делал. P.S. Наверно от ShadowFrench hacks есть. |
| Автор: TOXA2 3.8.2007, 19:49 | ||
трафик не катит.. снифером отлавливал... ничего нужного не нашёл... от ShadowFrencha нету,да и он мне нафиг не надо! Мне надо самому отловить начало... Т.е. к примеру отловить сообщение "Игра начнётся через 5..." или потухающую кнопку,а это всё только через directX! |
| Автор: Ak47black 3.8.2007, 20:00 |
| TOXA2, а зачем вообще тебе это делать? Не вижу толк. Тут овчинка не стоит выделки. |
| Автор: TOXA2 4.8.2007, 12:11 |
| Как это зачем? Мне это нужно для программы! Если бы не стоило-даже бы и не брался! Помогите дельным советом как реализовать!!! |
| Автор: Alexeis 4.8.2007, 12:32 | ||
А причем тут DirectX? Как я понял, варик при старте шлет что-то по сети, вот это-то и нужно ловить, хотя возможно он это шлет не шировокещательно, а каждому участнику отдельно. Если так то эта тема скорее для раздела сетей, чем для "графика, звук, видео."
И все таки вопрос о сетях или нет? |
| Автор: TOXA2 4.8.2007, 13:43 |
| извиняюсь, незнал! Дело в том,что сеть тут не канает!! По сети шлются шифрованные пакеты и после дня отлавливания этих пакетов, выяснил,что при старте они разные всегда. Мне надо отловить в игре надпись "Игра начнётся через 5...". Возможно ли это выдрать?! Подскажите пожалуйста как! Т.к. игра использует директХ,то без него некак! |
| Автор: Alexeis 4.8.2007, 14:20 |
| Т.е. приложение должно работать у того кто создает игру и потом отсылать сигнал по сети на другой компьютер? |
| Автор: TOXA2 4.8.2007, 15:18 |
| та нет! забудьте про сеть! Вопрос сводится к тому,как выдрать надпись из игры?! Т.е. в чате появляется надпись"Игра начнётся через"! Мне надо просто отловить эту надпись! |
| Автор: Ak47black 4.8.2007, 16:46 |
| TOXA2, Хорошо если ты этим занялся серьёзно, то тут я вижу два путя. Первый это как у http://www.securegamers.com/shadowfrench/ все эти хаки работают. (Maphack и т.п.) А работают они как я понимаю следующим образом - находиться значение в памяти игры отвечающее за какое-либо действие и изменяется или просматривается - это делается ещё с ArtMoney. Недостаток - если версия игры меняется нужно перестраиваться. Второй как например у Counter-Strike cheats (Aim, speed hack) - делается dll и внедряется в пространство запущенного файла игры и перехватывает вызовы OpenGl и DirectX или чтото подобное. Вообщем если имеешь похожую программу тебе я бы посоветовал её изучить по отладчиков и понять что она делает (в некоторых случаях помогает), но обсуждения такого рода запрешены на этом форуме. |
| Автор: TOXA2 5.8.2007, 08:37 |
| Ak47black, у ShadowFrench идёт напрямую запись в память.. В проге Banlist реализован метод с инжекцией длл!! ДЛЛ ставит хук на DirectX функции! Только на какие именно найти не удалось! Есть какие небудь идеи по этому поводу? Какаие функции в директХ 8 (Вар3 использует d3d8.dll) используются для вывода текста? |
| Автор: Ak47black 5.8.2007, 17:53 |
| TOXA2, тут понимаешь не обязательно у самого d3d8.dll будет идти вызов чтобы нарисовать надпись на прямую. Я сам лично не изучал, но может быть следующая ситуация - вызывается функция у прорисовки надписи у движка он её рендерит, он уже вызывает не функцию прорисовки текста ,а например просто функцию работы с битмапом у d3d8.dll. |
| Автор: TOXA2 10.8.2007, 16:12 |
| ну так Banlist ведь перехватывает что-то! В DirectX есть функция типа на вывод текста?Если есть можно было бы её хукнуть... |
| Автор: Ak47black 12.8.2007, 03:01 |
| Banlist Мож проверить что я говорю. Скачай Process Explorer с www.microsoft.com и в этой проге можно просмотреть какие Ip подсоединены к каждому application. Вот так как я понял он работает. |
| Автор: TOXA2 12.8.2007, 18:40 | ||
хэх... а как же насчёт инжектированной ДЛЛ? никаким эксплорером не отловиш! А IP само собой через него идут... это же Banlist.. |