Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.08.2008, 06:48   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию L2PacketHack 3.5.x

Исходники здесь
Вот такие скомпилированные версии есть у меня.

Ниже данные устарели.
Репозиторий находится тут (открывать через SVN клиент)
Удобный просмотр репозитория через браузер тут
Скомпилированные версии тут Пароль к архиву: coderx.ru

Есть ли предложения по модернизации существующего кода с описанием как должно и что хотелось бы заменить/добавить?

Программа пишется в среде Delphi 2007 и Delphi 7 с использованием следующих дополнительных библиотек компонентов:
- FastScript (http://fast-report.com/ru/products/fast-script.html)
- JCL (http://sourceforge.net/projects/jcl/)
- JVCL (http://sourceforge.net/projects/jvcl/)

Дополнительные компоненты брать тут. (<-- TPerlRegEx есть только там)

/upd:
для компиляции последних ревизий понадобятся JCL, JVCL (ссылки выше) а так же:
jwapi2.2a, SyntEdit, TRichView.v11.0+ScaleRichView.v2.0, TsiLang (letitbit / upload.com.ua)
Немного подправленный FastScript искать в файловом архиве.

Последний раз редактировалось NLObP, 17.10.2016 в 00:02.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 111 спасибками от:
-=Ma}{imuS=-, 4erteg, Agat, ak47, Alan, alexsl, alexteam, AoWpwnz, APXAHGEJI, Asmalaa Asrety, Benefit, BISMARCK_555, boy200007, boypush, Breadfan, BuKbI4, CCCP, Crypto, Curious, cutter, DashKAaa, Denis63RUS, dyh9l, Elecktron, Emocean, Evgeniy, FatalHistori, Fer123, Ferrari3200, FFALL777, Fim, freeworld, GameCoder, gavr1l0, gexiss, goodvin1709, Green, Grinch, HacPaTyc, INFERION, isya, Johnson, Keeper, Keisei, Kotyara2014, lomoWAR, lordka), LostQ, Lotar, Ma3aXakA, march, marslem, mat1s, MHz, micoach, MiRoN, mirt, MoD_Hanes, MrIICUX, Mulder, Murdoc, neonv1, nezabudkin, Nigga, Niros, NoFear, OleSha, OMOH8787, PanAm, pascalpwnz, PerioH, PIONER, QaK, rastaman_228, ratvier, RockTeam, RoZ, Rubicosha, Rysis, Ryth, saxa24111, shunder, skaner, skiner4119, Snowbars, StekloReZ, stopicot, TAMBIK, Tchep, Therapyst, TryLaw, vahes, Velizarx, victor_rvm, Vilson, Vklu4atel^^, vlad00777, vovanchik, vul-test, wanick, wasabi_100, WhiteDevil, Xelat, xkor, Yegor, Yellowboy, zDiablik, АлисаХочетСекс, Арти, женька
Старый 06.09.2015, 22:46   #1421
Местный
 
Аватар для Elecktron
 
Регистрация: 27.10.2011
Адрес: Харьков
Сообщений: 106
Сказал Спасибо: 24
Имеет 11 спасибок в 7 сообщенях
Elecktron пока неопределено
По умолчанию

Цитата:
Сообщение от VitaminPSG Посмотреть сообщение
Использую Rad XE5.
не используй.

в первом посте ясно сказано - "Delphi 2007 и Delphi 7"
__________________
C++Builder 6, Delphi 7, RAD Studio XE2, MS VC++...
Elecktron вне форума   Ответить с цитированием
Старый 07.09.2015, 17:44   #1422
Новичок
 
Регистрация: 18.05.2013
Сообщений: 13
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
VitaminPSG пока неопределено
По умолчанию

# Откатился до Delphi 7.
Указал пути к units. Не могу понять как работает линковщик. При сборке uData, ругается на Editor (не найдено определение класса). Хотя он описан в uScriptEditor. В настройках указал путь на units l2ph. Но он по прежнему отказывается компилить.

Последний раз редактировалось VitaminPSG, 08.09.2015 в 11:54.
VitaminPSG вне форума   Ответить с цитированием
Старый 10.09.2015, 20:06   #1423
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от VitaminPSG Посмотреть сообщение
# Откатился до Delphi 7.
Указал пути к units. Не могу понять как работает линковщик. При сборке uData, ругается на Editor (не найдено определение класса). Хотя он описан в uScriptEditor. В настройках указал путь на units l2ph. Но он по прежнему отказывается компилить.
Вот я мануал писал:
Мануал по установке компонентов для компиляции пакетхака
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 10.09.2015, 21:11   #1424
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

о! я предлагаю сделать образ для виртуальной машины, со всем установленным чем надо ))
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 12.09.2015, 12:43   #1425
Местный
 
Аватар для Elecktron
 
Регистрация: 27.10.2011
Адрес: Харьков
Сообщений: 106
Сказал Спасибо: 24
Имеет 11 спасибок в 7 сообщенях
Elecktron пока неопределено
По умолчанию

хорошая мысль )))
__________________
C++Builder 6, Delphi 7, RAD Studio XE2, MS VC++...
Elecktron вне форума   Ответить с цитированием
Старый 15.09.2015, 00:15   #1426
Новичок
 
Регистрация: 18.05.2013
Сообщений: 13
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
VitaminPSG пока неопределено
Лампочка

Вопрос как правильно передать параметры в функцию вызванную из dll написанной на с++.

1. В uPluginData.pas создал структуры методов
Код:
TSendPacketStr = procedure (pck: string; const tid: integer; const ToServer: Boolean);stdcall;
  TGetConnectionName = function(id : integer):string;stdcall;
  TGetConnectioIdByName = function(name : string):integer;stdcall;
  PSendPacketStr = ^TSendPacketStr;
  PGetConnectionName = ^TGetConnectionName;
  PGetConnectioIdByName = ^TGetConnectioIdByName;


  //  PSendPacketStr = TSendPacketStr;
  TCFunctionStruct = record
  pSendPacketStr: PSendPacketStr;
  pGetConnectionName: PGetConnectionName;
  pGetConnectioIdByName: PGetConnectioIdByName;
  end;
  
  PCFunctionStruct = ^TCFunctionStruct;
2. Описал функцию DLL в которую буду передавать указатель на структуру функций.
Код:
TSetCFStruct = function(const struct: PCFunctionStruct): Boolean; stdcall;
3. Создал переменную в которую буду записывать адрес на функцию DLL
Код:
SetCFStruct: TSetCFStruct;
4. При загрузке DLL. Нахожу адрес и записываю в переменную. А также передаю указатель на функцию.

Код:
 @SetCFStruct:=GetProcAddress(hLib, 'SetFunctionStruct');
  if(Assigned(SetCFStruct)) then
  begin
      ScriptStruct.pSendPacketStr:=@TPluginStructClass.SendPacketStr;
      ScriptStruct.pGetConnectionName:=@TPluginStructClass.getConnectionName;
      ScriptStruct.pGetConnectioIdByName:=@TPluginStructClass.getConnectioidByName;
      SetCFStruct(@ScriptStruct);
  end;
5. Описываю структуру функций из Delphi и функцию в которой буду передавать указатель.
Код:
// Структура скриптов
struct ScriptStruct
{
	void(*sendPacketStr)(unsigned char* pck, const int tid, bool toServer);
	char*(*getConnectionName)(int);
	int(*getConnectioIdByName)(char* name);

};

/// Функция передачи указателя на ScriptStruct
DLL_API bool SetFunctionStruct(ScriptStruct * scriptStruct);
6. Далее в сpp пишу описание функци
Код:
// Вызывается при включении плагина
DLL_API bool SetFunctionStruct(ScriptStruct * scriptStruct)
{
	OutputDebugStringA("SetFunctionStruct\n");
	_scriptStruct->getConnectionName(123); // <- Здесь я пытаюсь вызвать функцию из Delphi
	return true;
}
7. Запускаю проект L2Ph через дебагер, подключаю плагин.
Мы приходим в точку останова функции
Код:
function TPluginStructClass.getConnectionName(id: integer): string; stdcall;
begin
  result := dmData.ConnectNameById(id); /// <- вызывается 
end;
После чего просиходит креш
VitaminPSG вне форума   Ответить с цитированием
Старый 21.09.2015, 14:35   #1427
Новичок
 
Регистрация: 25.03.2011
Сообщений: 5
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
Torbins пока неопределено
По умолчанию

string - это чисто делфийский тип, аналог которому есть только в C++ Builder, кажется AnsiString называется. Причем желательно использовать шестую версию, если сам пакетхак скомпилирован в семерке. Плюс возможно еще с менеджером памяти нужно будет пошаманить, ShareMem подключить.
Torbins вне форума   Ответить с цитированием
Старый 18.02.2016, 17:48   #1428
Новичок
 
Регистрация: 22.05.2015
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Roman68 пока неопределено
По умолчанию

NLObP, Добрый день! не удается найти последную версию http://coderx.ru/showthread.php?t=618
тут ссылка битая. ГДе можно найти L2ph для Aion 4.8?
Roman68 вне форума   Ответить с цитированием
Старый 18.02.2016, 20:49   #1429
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от Roman68 Посмотреть сообщение
NLObP, Добрый день! не удается найти последную версию http://coderx.ru/showthread.php?t=618
тут ссылка битая. ГДе можно найти L2ph для Aion 4.8?
Вот последнее, что было + исходники.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 07.05.2016, 01:21   #1430
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Допиливаю пакетхак для Aion NA 4.9

Проверялось на Америке/Европе (клиент: только х32).
При посылке пакета 'сесть' чар садится.

PacketsAion49.ini - не готов, для правильной расшифровки нужно допиливать. ID пакетов взял из рекомпила java сервера aion4.9 emu (GER 4.9). Имена клиентских пакетов обфусцированы.
Пробуйте новую версию пакетхака для Aion NA 4.9

Попробуйте альтернативный разбор пакетов. Описание есть здесь
Исходники пакетов лежат в папке:
Код:
settings
    packets.ini
         aion49
           clientpackets
                CM_ABYSS_RANKING_LEGIONS.java
                CM_ABYSS_RANKING_PLAYERS.java
                ...
l2phx.3.5.35.2385.rar
VirusTotal
Показатель выявления: 26 / 56
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 08.05.2016 в 23:57.
NLObP вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:18.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!