|
Опкоды, Формулы, Клиент Разбор и изучение взаимодействия клиента с сервером |
|
Опции темы | Поиск в этой теме | Опции просмотра |
25.01.2011, 20:28 | #1 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Взаимодействие клиента и внешних программ
Я тут озадачился одной темой - придумать способ взаимодействия клиента ВоВ с внешними приложениями. Для передачи данных от клиента к приложению идея была такова: создаем мини адон, который формирует строку с некоторыми интересующими нас данными. В начало строки добавляется сгенерированный GUID или любая другая уникальная последовательность символов. Приложение ищет в памяти ВоВ наш GUID, запоминает адрес и читает периодически строку с данными.
Однако на практике я обломался Тестовое приложение успешно нашло гуид и первоначальное значение строки. Дальнейшее чтение из памяти по этому же адресу все так же выдавало эту же строчку, хотя в адоне строка изменялась. А через несколько секунд в этом месте оказались другие данные. Как выяснилось после модификации строки, lua интерпретатор не перезаписывает ее по тому же адресу, а плодит копии. Видимо для скорости новая строка создается по новому адресу, а сборщик мусора подчищает все хвосты. В связи с этим вопрос, существует ли способ как-то получить значения переменных адона из внешнего приложения З.Ы. и еще, кто нибудь знает почему в wow в клавиатурный хук нажатия всех кнопок приходят дважды ? В другое приложение (проверял на notepad.exe) все ок, на нажатие одной клавиши приходит два события - keydown и keyup, а в вов все события приходят парами с абсолютно одинаковыми флагами. |
25.01.2011, 21:05 | #2 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
«Я не страдаю извращениями, я ими наслаждаюсь.»
В клиенте есть функция по абсолютному адресу 0079E920, возвращающая значение переменной. Я использовал её. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
пакеты от клиента к серверу | acteros | Опкоды, Формулы, Клиент | 34 | 24.07.2014 09:15 |
[need инструкция] Автообновление клиента | Dragon | Установка MaNGOS | 3 | 03.07.2010 19:01 |
вылет клиента | astlan | Корзина | 1 | 28.04.2010 15:04 |
Ошибка клиента #134 | pdx15 | Флудильня | 9 | 22.04.2010 09:04 |
Настройки клиента ВоВ | tempura | Tools | 6 | 25.03.2010 01:44 |