Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
L2Manger Source c# (Не реализована авторизация)
#1
Привет, делал менеджер аккаунтов для Lineage 2, но в итоге забил на это дело.
Выкладываю исходники.
Что реализовано:

1) Поиск клиента и определение хроник клиента.
Поиск клиента осуществляется по названию папок, найденные совпадения проверяются на наличии файлов (определенных файлов), после проверки (что это действительно клиент) вызывается процедура проверки хроник, на наличие эксклюзивных файлов хроник (Каждой хроники), а так же по размеру файлов. Вся конфигурация поиска и определение хроник клиента, лежит в ConfingFind.ini.

Структура ConfingFind.ini файла.
[FINDTemplateFolder] - В этой секции прописываются имена папок которые будем искать.
[FolderFile] - Тут находятся имена файлов для проверки (действительно ли это клиент?)
[SECTIONFIND] - Тут список секций в которых хранится списки уникальных файлов для соответствующих хроник.

2) Реализована загрузка аккаунтов для каждого клиента.
Структура ConfingAccaunt.ini файла.
[Тут путь к клиенту]
Логин:Пароль|Комментарий

* Не реализован запуск клиента с автоматическим логином.
* Не реализовано шифрование ConfingAccaunt.ini файла.
* Нету оптимизации кода.
* Класс FileINI отличный велосипед для работы с .ini файлами.


В архиве не доделанный мангер и сорец программы для чека клиентов, на их различие по файлам.
[Изображение: big_cbfb31f8da866ce67520150707025616.jpg]

Привет gorodetskiy!)


Файлы вложений
.zip   L2Manger.zip (Размер: 131.24 KB / Загрузок: 38)
:Olen':
Ответ
#2
Что мешает доделать? Деньги?

Т.е. потенциально ты бы мог сделать программу, которая бы запустила клиент с автоматическим вводом логин и пароля?
[Изображение: sp-wiBzL8JQ.jpg]
Ответ
#3
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 в памяти. Как это сделать не перехватив не одного пакета я хз.

На этом я и забил разработку, время дорого для ковыряния клиента.
:Olen':
Ответ
#4
Апну некропост, вдруг кому то понадобится, пришлось разобраться с автологином для клиента IL
Цитата:Только вот надо изначально получить UNH, это указатель на объект UNetworkHandler в памяти. Как это сделать не перехватив не одного пакета я хз.
Получить UNH оказалось просто.
Нужно перехватить конструктор, для IL: "?InternalConstructor@UNetworkHandler@@SAXPAX@Z"
Конструктор вызывается уже при старте игрового клиента.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  нужна помощь с FEAR Source code Alvares89 0 1,511 11-20-2016, 09:08 PM
Последний пост: Alvares89
  Delphi - XTreme Remote Controller Source OPPAIN 6 3,225 11-09-2012, 07:51 PM
Последний пост: OPPAIN

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)