Программист
Начинал 4 года назад с работы над L2j серверами, потом около года занимался WEB-программированием, после чего год изучал распределенное программирование. Работал над написанием своего эмулятора L2 с нуля. В последнее время работал над 2мя проектами - эмулятор APB и эмулятор TERA.
Ищу работу, связанную с написанием эмуляторов и/или network-серверов (в крайнем случае - связанную с WEB). Работаю с: C#/Erlang/Java Свободно разговариваю на английском языке. Детали в ПМ. Спасибо. |
Re: Программист
Напиши мне в личку
|
Re: Программист
Каковы причины того, что забросил остальные проекты?
|
Re: Программист
Здравствуйте нужна ваша помощь - оплачу все труды.
Как с вамя связаться? |
Re: Программист
Цитата:
Цитата:
|
Re: Программист
Цитата:
ТЕРА - личные несогласия с коллегами в команде. Сейчас рассматриваю вариант продолжения работы и запуска сервера (если будет больше свободного времени). Ла2 - давно уже не занимался - утратил интерес к ней в некотором смысле. Когда делал свой эмулятор с нуля, понял, что это никому не нужно и закрыл проект. |
Re: Программист
|
Re: Программист
xolseg, спасибо огромное за предложение.
Но я сомневаюсь, что у меня хватит знаний для написания на С/С++ inject'ов своих модулей в Ла2 клиент. |
Re: Программист
Цитата:
|
Re: Программист
Цитата:
Для Л2 - это переработка dsetup. Он в открытом доступе (пустые вызовы функций ДиректИкса). А дальше - уже поле для фантазий открыто :) ну чуток поизучать двиг клиента, и на крайний случай - эмулировать функции (Пример эмуляции сендПакета в любой из стоящих защит, спасибо в свое время Альфу за открытие :) ). Выключалка ГГ :) bool DisableGameGuard(void) { unsigned long oldProtect; unsigned char *GL2UseGameGuard; GL2UseGameGuard = (unsigned char *) GetProcAddress(LoadLibraryA("core.dll"), "?GL2UseGameGuard@@3HA"); if(GL2UseGameGuard == 0) return false; if(!VirtualProtect(GL2UseGameGuard, 1, PAGE_READWRITE, &oldProtect)) return false; *GL2UseGameGuard = 0; if(!VirtualProtect(GL2UseGameGuard, 1, oldProtect, &oldProtect)) return false; return true; }СплайсингВМТ: ... unsigned int startVMT = (unsigned int) hEngine + 0x51F658; unsigned int AddNetworkQueue = (unsigned int) GetProcAddress(hEngine, "?AddNetworkQueue@UNetworkHandler@@UAEHPAUNetworkPacket@@@Z"); unsigned int currVMT = startVMT;. .. |
Текущее время: 12:35. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot