Собственна, ищю исходники любого простого торгового бота на Дельфи с минимальным функционалом, логин, выставить вещи на трейд, сесть на трейд / встать с трейда. Гугл непомогает. Встречал исходник TradeBot, но сцылки мертвые. Помогите кто может.
Был бы признателен Hint'у, если бы дал исходники своего бота с вырезанными кусками работы с защитой.
Либо интересуют реализованные алгоритмы работы перехода с ЛС на ГС и поддержка обмена пакетами NetPing Бота с ГС.
Последний раз редактировалось Sherman, 11.12.2009 в 13:01.
кусок кода не совсем из паблика подключающий дллку
delphi Код:
function TUserEngine.LoadLsLib(unload: boolean): boolean;
begin
result := false;
if HLsWorkOut <> 0thenbeginifassigned(LsWorkout)thenbegin
LsWorkout.Destroy;
LsWorkout := nil;
end;
FreeLibrary(HLsWorkOut);
HLsWorkOut := 0;
LsWorkoutCreate := nil;
end;
if(TLsClass(UserClass.CurrentLS).LSlibraryPath = '')or unload thenexit;
ifFileExists(TLsClass(UserClass.CurrentLS).LslibraryPath)then
HLsWorkOut := LoadLibrary(PChar(TLsClass(UserClass.CurrentLS).LslibraryPath))else
HLsWorkOut := LoadLibrary(PChar(apppath+'\DATA\WorkOuts\LS\'+TLsClass(UserClass.CurrentLS).LslibraryPath));
if HLsWorkOut > 0thenbegintry
@LsWorkoutCreate := GetProcAddress(HLsWorkOut,'LSWorkoutCreate');
result := true;
exceptend;
if(@LsWorkoutCreate = nil)ornot result thenbegin
AddLogMain(format(rs_lib_hasNoExport, [TLsClass(UserClass.CurrentLS).LSlibraryPath, 'LSWorkoutCreate']),2)endelsebegin
AddLogMain(format(rs_lib_load_ok, [TLsClass(UserClass.CurrentLS).LSlibraryPath]),0);
try
LsWorkoutCreate(@LSworkout);
if @LSworkout = nilthenelse Result := true;
except
result := false;
end;
ifnot result then AddLogMain(format(rs_lib_object_create_fail, [TLsClass(UserClass.CurrentLS).LSlibraryPath]),2);
end;
endelsebegin
Result := false;
AddLogMain(format(rs_lib_loadfail, [TLsClass(UserClass.CurrentLS).LSlibraryPath]),2);
end;
end;
модуль работы с ЛС в полном виде в аттаче. представляет собой дллку с классом похожим на компоненту (код "сперт" с l2clientemu). uLSAuthSharedData.pas подключаеться и к длл и к приложению ее подгружающую и содержит нужные структуры с коментариями позволяющими понять порядок вызова методов и что означает тот либо иной проперти.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 11.12.2009 в 13:07.
За это сообщение alexteam нажился 5 спасибками от:
С нетпингом я разобрался, с ответом ГГ тоже, а вот авторизация для меня пока темный лес.
Может быть есть у кого наработки для авторизации на C4 с621 протокол?
Последний раз редактировалось Sherman, 19.12.2009 в 20:19.
оО, как это разобрался?, не поверю что ты понял как отвечать ГГ так же как оригинальный ГГ!
Дело в том что на интересующем меня сервере ГГ убит, но освобожденный ответ на гг используется для каких то целей, и генерируется не в engine, или как наверное в оригинальном клиенте в GameGuard.des, а в dll защиты, в итоге контрол Ц, контрол Вэ, в свою функцию в скобочках asm решило проблему.
ЗЫ: Уже неделю сижу в отладчике, не могу понять в чем дело. l2emu_client не хочет жевать пакеты логин сервера. Клиент в отладчике нормально логиниться, есть изменения обработки пакетов от ЛС в клиенте, повторение этих изменений в l2emu_client не приводит к результату, возникает догадка что l2emu_client не очень корректно работает с С4. М.б. кто нибудь достанет из загашнеков исходник для логинсервера С4.?
Xkor, а у тебя случаем не осталось исходника L2proxy?
Последний раз редактировалось Sherman, 20.12.2009 в 15:02.
xkor, удали тему. С логин сервером разобрался. Пришлось вспомнить как писать серверные сокеты. Сделал эмулятор логин сервера и проигрывал в нем записанные заранее пакеты. Анализировал работу клиента и эмулятора. Результат положительный. Могу исходник эмулятора лс выложить если кому интересно. Заранее говорю что у меня древний протокол авторизации 785a.