Цитата:
Сообщение от deathmad
Что мешает доделать? Деньги?
Т.е. потенциально ты бы мог сделать программу, которая бы запустила клиент с автоматическим вводом логин и пароля?
|
Дело не в деньгах, а во времени.
Автологин можно реализовать в 4 способа.
1) Захват формы и WindowSend, такой способ по мне не красив и вообще не уместен.
2) Редактировать файл l2.ini и запускать l2 с командами - такая быдло поделка не всегда будет работает.
3) Перехват пакетов и уже через них авторизовываться, тут тоже есть свои сложности, например разное шифрование для каждого сервера, но и защита клиента не всегда даст перехватить пакеты.
4) Способ самый оптимальный: Путём dll injecta дергать функции клиента для авторизации, но тут сложность реализации, сколько я не искал методы такого инжекта, реализацию не нашёл.
Цитата с одного из форумов.
Цитата:
Сообщение от Yegor
Вызвать апи функцию клиента
Код:
int (__fastcall *UNetworkHandler_RequestAuthLogin)(UNetworkHandler*, int, wchar_t const * login, wchar_t const * password,int param) = 0;
....
(FARPROC&) UNetworkHandler_RequestAuthLogin = GetProcAddress(hEngine, "?RequestAuthLogin@UNetworkHandler@@UAEHPB_W0H@Z");
....
(*UNetworkHandler_RequestAuthLogin)(UNH, 0/*что угодно*/, login, password, 0);
Только вот надо изначально получить UNH, это указатель на объект UNetworkHandler в памяти. Как это сделать не перехватив не одного пакета я хз.
|
На этом я и забил разработку, время дорого для ковыряния клиента.