Вернуться   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, АлисаХочетСекс, Арти, женька
Старый 09.10.2008, 10:16   #301
Местный
 
Регистрация: 18.02.2008
Сообщений: 141
Сказал Спасибо: 16
Имеет 66 спасибок в 30 сообщенях
ratvier
По умолчанию

Цитата:
Сообщение от RoZ Посмотреть сообщение
для совместимости с DLL написанной на С++ необходимо...
Нафиг не надо... void __stdcall myfunction(void);
ratvier вне форума   Ответить с цитированием
Старый 09.10.2008, 10:32   #302
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от ratvier Посмотреть сообщение
Нафиг не надо... void __stdcall myfunction(void);
И ? Получим на выходе _myfunction@16 какой нить...в то время как Дельфи использует просто myfunction. А так у нас будет экспортироваться нормальное myfunction как и в Дельфи.
RoZ вне форума   Ответить с цитированием
Старый 09.10.2008, 11:17   #303
Заблокирован
 
Регистрация: 01.10.2007
Сообщений: 76
Сказал Спасибо: 22
Имеет 7 спасибок в 7 сообщенях
Murdoc
По умолчанию

есть предложение по модификации.
Неплохо было бы во вкладке "Просмотр", чтоб пакеты отправленные/измененные/вырезанные л2пх как то метились. При отладке скриптов было бы очень невредно.
Так же работа л2пх без инжекта как сокс прокси тоже бывает нелишним особенно на серверах со свякими защитами отлавливающими инжекты.
Murdoc вне форума   Ответить с цитированием
Старый 09.10.2008, 11:35   #304
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

ratvier, майкрософт как то умудрилась весь свой API написать на С++ с соглашением stdcall, я собсно его сделал именно для совместимости с С++ и другими...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 09.10.2008, 12:02   #305
Местный
 
Регистрация: 18.02.2008
Сообщений: 141
Сказал Спасибо: 16
Имеет 66 спасибок в 30 сообщенях
ratvier
По умолчанию

Цитата:
Сообщение от RoZ Посмотреть сообщение
Получим на выходе _myfunction@16 какой нить...в то время как Дельфи использует просто myfunction.
c++ и не должен экспортировать "нормальные" имена, кроме объявленных в extern c

xkor, в апи много си кода %)
ratvier вне форума   Ответить с цитированием
Старый 09.10.2008, 13:13   #306
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от ratvier Посмотреть сообщение
c++ и не должен экспортировать "нормальные" имена, кроме объявленных в extern c
Я по моему и не говорил что С++ должен экспортировать в "нормальном" виде. Я пытаюсь написать плугин шаблон DLL на С++ для использования с l2phx, чтобы народ незнающий Delphi меньше мучился (как я). Сейчас использую такую конструкцию:
Код:
#define DLL_API extern "C" __declspec(dllexport)
DLL_API char* GetPluginInfo(int ver);
DLL_API char* GetPluginInfo(int ver)
{
	return "Test Plugin DLL";
}
в настройках проекта стоит
Calling Convention __cdecl (/Gd)
и функция GetPluginInfo(int ver) экспортируется как GetPluginInfo, если же поставить __stdcall то функция экспортируется как _GetPluginInfo@4

Собственно сейчас для меня два варианта.
1) Всё таки дописать шаблон на С++
2) Сделать DLL на Delphi как обёртку для DLL на С++

З.Ы. Второй вариант намного проще,...но это уже ИМХО какое то извращение

Последний раз редактировалось RoZ, 09.10.2008 в 13:17. Причина: мысль... :)
RoZ вне форума   Ответить с цитированием
Старый 09.10.2008, 13:53   #307
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

На С++ свет клином не сошелся. И если он для себя приписывает число параметров в экспорт - то это его проблемы.
Я вот пишу плагины на асме.
В WinAPI используется stdcall и я думаю что и плагины к phx должны именно так передавать параметры. В итоге получим нормальные dll.

p.s. к чему это я... да, обращайся не по имени а по номеру функции....

Последний раз редактировалось dmitry501, 09.10.2008 в 13:57.
dmitry501 вне форума   Ответить с цитированием
За это сообщение dmitry501 нажился спасибкой от:
Старый 09.10.2008, 14:17   #308
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от dmitry501 Посмотреть сообщение
На С++ свет клином не сошелся. И если он для себя приписывает число параметров в экспорт - то это его проблемы.
Я вот пишу плагины на асме.
В WinAPI используется stdcall и я думаю что и плагины к phx должны именно так передавать параметры. В итоге получим нормальные dll.

p.s. к чему это я... да, обращайся не по имени а по номеру функции....
В том то и дело, в самом l2phx обращение идёт по имени. Что бы не плодить форки проекта под разных "программеров" хотелось бы унификации. Ладно сейчас попробую сделать через DEF альясами...посмотрим что получится из эксперимента... (*чувствую себя создателем Франкенштейна*)
RoZ вне форума   Ответить с цитированием
Старый 09.10.2008, 14:31   #309
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

dmitry501, точно, сделаю обращение по номеру

ЗЫ вот поэтому я и говорил что ещё поддержка плагинов не релизной версии, возможны глубокие изменения)

ЗЗЫ ещёб найти как при динамическом подключении обращаться по номеру...

ЗЗЗЫ SVN теперь тут - http://l2phx.pp.ru/svn/l2phx3/
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 09.10.2008, 14:43   #310
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Про stdcall предложение я снимаю, решение для С++:
Заходим в Properties->Linker->Input->Module Definition File = наш_файл.def
В самом файле
Код:
EXPORTS
GetPluginInfo=_GetPluginInfo@4
Цитата:
Сообщение от xkor Посмотреть сообщение
dmitry501, точно, сделаю обращение по номеру
ЗЗЫ ещёб найти как при динамическом подключении обращаться по номеру...
ЗЗЗЫ SVN теперь тут - http://l2phx.pp.ru/svn/l2phx3/
А какие выгоды из этого можно получить ? Кроме скорости обращения ?
RoZ вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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