|
Relogin - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
05.02.2012, 14:19
|
#1
|
|
|
|
Сержант
|
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Relogin
Доброе время суток. Возникла необходимость автоматически перезаходить в игру в случае обрыва связи с сервером. Нужна следующая информация:
1. Как определить что связи клиента с сервером нет. Сразу скажу, какой сервер - я не знаю, поэтому пинговать не смогу. Да и потеря связи может быть как критична для игры, так и не критична. Подозреваю что клиент сам пингует сервер, если может кто, подскажите пожалуйста оффсет или оффсет информации постоянно обновляющейся с сервера. OnlineFlag = 00B27CE0 не подходит в данном случае
2. Ввести пароль/логин как бы проблемы нет, а вот поставить галочку "Усиленно" - хз как с клавиатуры.
Если кто может поделиться информацией на тему - был бы благодарен.
|
|
|
05.02.2012, 14:34
|
#2
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Relogin
|
Цитата: |
|
|
|
|
|
|
|
|
|
2. Ввести пароль/логин как бы проблемы нет, а вот поставить галочку "Усиленно" - хз как с клавиатуры.
|
|
|
|
|
|
Я функцию закрытия окна выкладывал. Это на самом деле функция работы с GUI.
Поставь БП на ключевые аргументы и посмотри что туда грузится (Я отправлял туда Btn_Close в своей функции - чтобы окно закрывалось),
а если отправить Chk_Forcelog - это должно сэмулировать клик по галочке "Усиленно".
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
05.02.2012, 14:55
|
#3
|
|
|
|
Сержант
|
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Re: Relogin
|
Цитата: |
|
|
|
|
|
|
|
|
|
Я функцию закрытия окна выкладывал. Это на самом деле функция работы с GUI.
Поставь БП на ключевые аргументы и посмотри что туда грузится (Я отправлял туда Btn_Close в своей функции - чтобы окно закрывалось),
а если отправить Chk_Forcelog - это должно сэмулировать клик по галочке "Усиленно".
|
|
|
|
|
|
не совсем понятно
ты про функцию
Код:
procedure WinClose(WinOffset: PParams); stdcall;
const
PW_BTN_CLOSE=$ACC3BC;
var
PW_Call: Pointer;
WIN_OFFSET: DWORD;
PW_BASE_ADDR: DWORD;
begin
PW_Call := Pointer(WinOffset^.Param1);
PW_BASE_ADDR := WinOffset^.Param2;
WIN_OFFSET := WinOffset^.Param3;
asm
pushad
mov eax, PW_BASE_ADDR
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+$1C]
mov eax, dword ptr [eax+$18]
mov eax, dword ptr [eax+$8]
mov eax, dword ptr [eax+WIN_OFFSET]
push eax
push PW_BTN_CLOSE
call PW_Call
popad
end;
end;
{windowOffset:
0x2B8 Действия
0x2C0 Игроки и группы
0x2C4 Служба поддержки
0x314 Характеристики персонажа
0x32C Ремонт
0x36C Призыв духа
0x3E8 Помощь
0x40C Инвентарь и Окно Торговли и Ремонта
0x428 Диалог с NPC
0x438 Домашние животные
0x458 Окно алхимика
0x468 Панель 1-9
0x470 Горячие клавиши
0x4B0 Настройки
0x4C4 Умения
0x50C Системная панель
0x51C Задания
}
procedure CloseWindow(windowOffset:dword);
var
aParams: TParams;
begin
aParams.Param1 := $616EA0;
aParams.Param2 := base_addr;
aParams.Param3 := windowOffset;
InjectFunc(hProcess, @WinClose, @aParams, SizeOf(aParams));
end;
Добавлено через 1 час 52 минуты
с помощью СЕ нашёл адрес, в котором меняется состояние "Усилено"
1181E849 byte
попытался найти оффсет согласно инструкции описанной тут - http://zhyk.ru/forum/showthread.php?t=303485
нифига не вышло
пока активен именно этот клиент, этот адрес актуален, изменение значения по нему меняет и галочку, но понятно для следующего клиента он получается другой
т.е. по идее, кто умеет, тот легко найдет
есть альтруисты что помогут с поиском этого адреса?
Добавлено через 2 часа 10 минут
нашёл какой-то адрес $112462A0, если к нему прибавить $121, то по этому адресу и находится нужный мне флаг "Усиленно", туда можно писать и флаг поменяется. Этот адрес вроде постоянный, только хз что это за адрес. Я совсем плаваю во всех этих разборках кода
Нашел адрес по которому однозначно указывается что перс в сети или нет. Это $B36C38, есть еще какой-то, который еще круче, тот указывает вообще, что персонаж в игре, но он не постоянный, попытка выяснить откель ноги растут не увенчались успехом (
Добавлено через 3 часа 25 минут
не, нифига, $112462A0 не постоянный
Последний раз редактировалось gurin; 05.02.2012 в 18:21.
Причина: Добавлено сообщение
|
|
|
05.02.2012, 19:01
|
#4
|
|
|
|
Сержант
|
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Relogin
Особо долго не тестировал, но после пары перезапусков клиента адрес продолжал работать:
[[$12E02C]+$121] (byte)
= 1 - галочка "Усиленно стоит"
= 0 - галочка не стоит.
|
|
|
Пользователь сказал cпасибо:
|
|
05.02.2012, 19:26
|
#5
|
|
|
|
Сержант
|
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Re: Relogin
Последний раз редактировалось gurin; 05.02.2012 в 23:35.
Причина: Добавлено сообщение
|
|
|
08.02.2012, 00:44
|
#6
|
|
|
|
Сержант
|
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Re: Relogin
Альтруистов таки нету?
|
|
|
08.02.2012, 09:34
|
#7
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Relogin
Да, про эту функцию. Ты ее запустить смог или нет?
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
08.02.2012, 22:59
|
#8
|
|
|
|
Сержант
|
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Re: Relogin
нет , я так понимаю что вместо PW_BTN_CLOSE=$ACC3BC; дожно быть Chk_Forcelog=?
в и-нете ничего по эту константу не нашёл
да и WIN_OFFSET для этого окна хз какой
Последний раз редактировалось gurin; 08.02.2012 в 23:19.
|
|
|
09.02.2012, 07:07
|
#9
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Relogin
А в чем проблема? Клиент с ошибкой вылетает?
Попробуй в игре какое нибудь окно закыть. Если получится - я тебе скажу для этой функции смещения, чтобы галочку выставлять и кнопочку нажимать. И, если бог даст, подскажу куда писать текст, чтобы он в окне логина и пароля появился.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
19.04.2012, 13:24
|
#10
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Relogin
krukovis, если не сложно, подскажите офсет окна логина и чекбокса. Никак не получается галочку выставить.
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
21.04.2012, 06:31
|
#11
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Relogin
Порылся, нашёл цепочку, по которой можно писать 0 или 1, и в зависимости от этого ставится(или убирается) галочка "усиленно", может кому пригодится
Код:
GA+0x18+0x08+0xAC+0x08+0x1C8+0x04+0x04+0x04+0x04+0x08+0x121
Длинновато, не правда ли?
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
22.04.2012, 12:08
|
#12
|
|
|
|
Рыцарь-капитан
|
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
|
Re: Relogin
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
22.04.2012, 12:20
|
#13
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Relogin
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
01.06.2012, 21:26
|
#14
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Relogin
Какие оффсеты чекбокса "усиленно" в текущей версии руофа? Есть цепочка GA+18+8+74+E8+121, но по этой цепочке чекбокс проставляется только в случае, если он в фокусе, то есть по нему уже тыкали мышкой и курсор не стоит в полях ввода логина и пароля. Так же интересует, как прописать залогиниться не посылая нажатия клавиш окну(переделал бота для работы с несколькими окнами и нажатие клавиш уже не подходит).
Добавлено через 45 минут
Для чекбокса нашёл адрес флага:
Код:
GA+0x18+0x08+0x74+0x1C8+0x04+0x04+0x04+0x04+0x04+0x04+0x08+0x121
Всё ещё интересует то каким способом можно ввести логин и пароль не посылая нажатие клавишь.
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
Последний раз редактировалось dwa83; 01.06.2012 в 22:12.
Причина: Добавлено сообщение
|
|
|
02.06.2012, 02:52
|
#15
|
|
|
|
Сержант
|
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Relogin
dwa83, можно имитировать действия клиента: нажатия на кнопочки на виртуальной клавиатуре.
Чем не вариант? ;)
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:23.
|
|