|
Авторизация в игре Delphi - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
09.10.2011, 16:29
|
#1
|
|
|
|
Рыцарь-защитник
|
Регистрация: 08.07.2010
Сообщений: 631
Популярность: 3773
Сказал(а) спасибо: 88
Поблагодарили 275 раз(а) в 163 сообщениях
|
Авторизация в игре Delphi
Подскажите, как можно реализовать авторизацию онлайн игре?
Допустим я когда захожу в игру у меня появляется процесс elementclient.exe Вот собственно как в него залезть, и ввести данные пароль и логин.
Я в этом пока не очень разбираюсь, по этому тапками не кидать. Новичок пока в этом деле..
________________
|
|
|
09.10.2011, 17:09
|
#2
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Авторизация в игре Delphi
|
Цитата: |
|
|
|
|
|
|
|
|
|
как в него залезть
|
|
|
|
|
|
Найти окно ПВ по заголовку окна или по классу окна и, по надобности, дать программе доступ к процессу:
Код:
var
Wnd:THandle;
PID,hProcess:DWord;
begin
Wnd:=FindWindow('Perfect World','ElementClient Window'); //Первое - заголовок окна, второе - класс
GetWindowThreadProcessId(Wnd,@PID);
hProcess:=OpenProcess(PROCESS_ALL_ACCESS,False,PID);
end;
Далее нужно разморозить окно, для того, чтобы наша программа могла передать клиенту логин и пароль. Тут есть несколько способов, но самый лёгкий для понимания - это постоянная смена флага разморозки. Для этого кидаем на форму Таймер и ставим на нём интервал в 300мс. Потом в обработчике событий таймера пишем:
Код:
var
Wnd:THandle;
PID,hProcess,temp:DWord;
const
ua:DWord=$A5C43C;
unfreeze:DWord=1;
begin
Wnd:=FindWindow('Perfect World','ElementClient Window');
GetWindowThreadProcessId(Wnd,@PID);
hProcess:=OpenProcess(PROCESS_ALL_ACCESS,False,PID);
try
if hProcess<>0 then
begin
WriteProcessMemory(hProcess,ptr(ua),@unfreeze,1,temp);
end;
finally
CloseHandle(hProcess);
hProcess:=0;
end;
end;
Ну а дальше нужно передать клиенту логин и пароль...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
09.10.2011, 18:27
|
#3
|
|
|
|
Рыцарь-защитник
|
Регистрация: 08.07.2010
Сообщений: 631
Популярность: 3773
Сказал(а) спасибо: 88
Поблагодарили 275 раз(а) в 163 сообщениях
|
Re: Авторизация в игре Delphi
|
Цитата: |
|
|
|
|
|
|
|
|
|
Wnd:=FindWindow('Perfect World','ElementClient Window');
|
|
|
|
|
|
а разве не Wnd:=FindWindow(' ElementClient',' ElementClient Window');
ElementClient в процессах видно, и окно так же называется ElementClient
Спасибо вам большое, скажите а что на форму кидать что бы в писать первый код?
Если тут участвуют компоненты, напишите какие.?
________________
|
|
|
09.10.2011, 19:44
|
#4
|
|
|
|
Старший сержант
|
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
|
Re: Авторизация в игре Delphi
|
|
|
10.10.2011, 13:38
|
#5
|
|
|
|
Рыцарь-защитник
|
Регистрация: 08.07.2010
Сообщений: 631
Популярность: 3773
Сказал(а) спасибо: 88
Поблагодарили 275 раз(а) в 163 сообщениях
|
Re: Авторизация в игре Delphi
это руофф - у меня фришка)
________________
|
|
|
11.10.2011, 18:32
|
#6
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Авторизация в игре Delphi
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
Пользователь сказал cпасибо:
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 04:21.
|
|