Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Relogin

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 02.06.2012, 11:25   #16
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Relogin

Попытался найти инжект нажатия на виртуальную клавиатуру, но не удачно( не отсеивает ни одного адреса при нажатии на клавишу.
Ещё вопрос на случай если получится жать на витруальную клаву:
В игре произошёл дисконнект - появилось сообщение "соединение с сервером было потерянно", нам нужно опять же без посылки клавишь нажать "ОК". Думаю для этого подойдёт функция, которая тут. Не плохо было бы, если бы кто написал оффсет для окошка разрыва соединения Нажали вышли на страницу ввода логина и пароля. Поле ввода логина уже активно, курсор стоит в нём. Нажатием на виртуальную клавиатуру мы ввели логин, теперь чтобы ввести пароль нужно сделать активным поле ввода пароля, но на виртуальной клавиатуре нет клавиши tab, а посылать таб окну нельзя, как сделать поле ввода пароля активным и нажать "вход"?

А можно ли как-то логиниться пакетами?

Добавлено через 1 час 29 минут
Попытался найти флаг "активности" поля ввода логина, найти то нашёл, но при проставление его вручную значением 1, курсор в нём появляется(причём курсоры моргают в обоих полях, если поле ввода пароля до этого было активным) но вводить туда символы не получается. У кого есть многооконные боты с функцией релогина, как произвести активацию полей ввода чтобы туда можно было писать?

Добавлено через 4 часа 17 минут
Итак, наковырял оффсеты количества символов и строк логина и пароля. Сначала прописывать количество символов, затем строку.
Код:
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 188    -  количество символов в логине
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC + 0  -  сам логин
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 188    -  количество символов в пароле
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC + 0  -  сам пароль
Делаем выводы:
GA + 18 + 08 + 74 + 1C8 - оффсет начала цепочки окон (как я читал на форуме, структура каждого окна имеет указатель на следующее окно)
оффсеты:
04 - является указателем на структуру следующего окна
188 - количество символов в поле ввода
13FC - адрес текста в поле ввода
121 - "отмеченность" чекбокса, если окно является чекбоксом

Достаточно знать, каким по счёту в цепочке является нужное окно, чтобы требуемое количество раз считать по оффсету 04 и добраться до структуры окна. Вроде так, если ошибаюсь поправте.


Добавлено через 5 часов 38 минут
Опять ерунда выходит(( Логин с паролем корректно вводится только в случае, когда они не пустые(адреса начала строк инициализированны), но стоит вписать в пустые поля логина и пароля, сначала пишется логин, затем когда пишется пароль, логин меняется на пароль. Я думаю, что когда поля пустые, указатели на строки логина и пароля инициализированны одним значением(возможно и нулевые, надо проверить..) Может у кого-то есть подсказки/мысли/наставления по этому поводу?

Добавлено через 6 часов 26 минут
Разобрался Решил таким способом. Выделяю в памяти клиента место для хранения строчек логина и пароля. Сохраняю их адреса в переменных. Для входа в игру сначала по вышеуказанным оффсетам проставляю количество символов, а затем записываю по оффсетам адресов текста логина и пароля
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC
и
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC
адреса записанных нами в память клиента строчек.
Таким образом цепочка GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC + 0
будет указывать на внедрённую нами строчку.
Жму вход и готово.

Добавлено через 9 часов 28 минут
________________________________________________
________________________________________________
Кому не сложно, прошу указать:
адрес кнопки "Войти" на странице логина
адрес кнопки "Войти" на странице выбора персонажа
адрес кнопки "Да(Y)" в окне "соединение с сервером было разорвано"
оффсеты окон логина, выбора персонажа и окна разрыва соединения.
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 02.06.2012 в 22:37. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 08:41.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net