хардкодинг меня абсолютно не пугает - без него, насколько я понял, не обойтись - функция sendpacket не экспортируемая...
Цитата:
Сообщение от ALF
Ммм насчет DSETUP.DLL
Код:
//==============================================================================
int __stdcall DirectXDeviceDriverSetupA() { return 0;}
...
int __stdcall DirectXSetupGetEULAW() { return 0;}
//==============================================================================
они у меня не появляются в таблице экспорта...
клиент при запуске начинает ругаться:
"порядковый номер 11 не найден в библиотеке DLL DSETUP.DLL."
что я делаю не так?
upd:
пересобрал подругому.
но всеравно не работает.
экспорт получился в формате @DirectXDeviceDriverSetupA$qqsv
а нужно DirectXDeviceDriverSetupA
более того, насколько я понял, клиент л2 вызывает их не по имени, а по номеру... или я ошибся?
копаю дальше...
Добавлено через 2 часа 5 минут
Цитата:
Сообщение от destructor
"разные" хуки
то что они разные я усвоил сразу...
но полностью принципа их работы не понял..
Последний раз редактировалось Elecktron, 01.11.2011 в 20:07.
Причина: Добавлено сообщение
а ты номера экспортируемым функция назначил такие же как в оригинальной длл?
да. смотрел через CFF Explorer.
upd: стоп. я им номера не назначал. они идут в том порядке как и в оригинальном файле...
после того как переписал код таким образом чтобы эти функции экспортировались - клиент просто критует с ошибкой No Video.
компилятор искажает имена функций.
экспорт получился в формате @DirectXDeviceDriverSetupA$qqsv
а нужно DirectXDeviceDriverSetupA
скорее всего я неправильно объявляю экспорт...
использую C++Builder 6
Последний раз редактировалось Elecktron, 01.11.2011 в 22:53.
#ifndef _DSETUPDLL_
#define _DSETUPDLL_
extern "C"
{
int __declspec(dllexport) __stdcall DirectXDeviceDriverSetupA();
int __declspec(dllexport) __stdcall DirectXDeviceDriverSetupW();
int __declspec(dllexport) __stdcall DirectXRegisterApplicationA();
int __declspec(dllexport) __stdcall DirectXRegisterApplicationW();
int __declspec(dllexport) __stdcall DirectXSetupA();
int __declspec(dllexport) __stdcall DirectXSetupIsJapan();
int __declspec(dllexport) __stdcall DirectXSetupIsJapanNec();
int __declspec(dllexport) __stdcall DirectXSetupW();
int __declspec(dllexport) __stdcall DirectXUnRegisterApplication();
int __declspec(dllexport) __stdcall DirectXSetupSetCallback();
int __declspec(dllexport) __stdcall DirectXSetupGetVersion();
int __declspec(dllexport) __stdcall DirectXSetupCallback();
int __declspec(dllexport) __stdcall DirectXSetupGetFileVersion();
int __declspec(dllexport) __stdcall DirectXLoadString();
int __declspec(dllexport) __stdcall DirectXSetupIsEng();
int __declspec(dllexport) __stdcall DirectXSetupShowEULA();
int __declspec(dllexport) __stdcall DirectXSetupGetEULAA();
int __declspec(dllexport) __stdcall DirectXSetupGetEULAW();
int __declspec(dllexport) WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved);
}
#endif
спасибо ALF, длл скомпилилась.
но клиент всеравно не запускается с ней...
выдает ошибку:
Код:
OS: Windows XP 5.1 (Build: 2600)
CPU: AuthenticAMD Unknown processor @ 2703 MHz with 2047MB RAM
Video: No Video
General protection fault!
History:
зы клиент грации с моей длл тоже вылетел с General protection fault...
ззы с ней завелся клиент хб, но в окно не переключается....
сразу вопрос - что ненравится четвертым хроникам в моей длл?
длл пустая по сути, в ней только функции из dsetup.
Добавлено через 6 часов 20 минут
временно отказался от dsetup.dll.
пишу просто длл для привязки
происходит странное:
lordpe постоянно выдает ошибки... (глючная версия?)
вяжу с помощью CFF Explorer:
клиент четвертых хроник при попытке привязать к нему какую-либо длл вылетает с ошибкой.
пробовал даже создавать абсолютно пустую длл (новый проект в билдере)...
всеравно летает...
Последний раз редактировалось Elecktron, 03.11.2011 в 00:41.
Причина: Добавлено сообщение
спасибо ALF, длл скомпилилась.
но клиент всеравно не запускается с ней...
выдает ошибку:
Код:
OS: Windows XP 5.1 (Build: 2600)
CPU: AuthenticAMD Unknown processor @ 2703 MHz with 2047MB RAM
Video: No Video
General protection fault!
History:
зы клиент грации с моей длл тоже вылетел с General protection fault...
ззы с ней завелся клиент хб, но в окно не переключается....
сразу вопрос - что ненравится четвертым хроникам в моей длл?
длл пустая по сути, в ней только функции из dsetup.
Добавлено через 6 часов 20 минут
временно отказался от dsetup.dll.
пишу просто длл для привязки
происходит странное:
lordpe постоянно выдает ошибки... (глючная версия?)
вяжу с помощью CFF Explorer:
клиент четвертых хроник при попытке привязать к нему какую-либо длл вылетает с ошибкой.
пробовал даже создавать абсолютно пустую длл (новый проект в билдере)...
всеравно летает...
Что в дллЕНтриПоинт?
вот у меня
Код:
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinst);
CreateThread(0,0,&InitThread,0,0,0);
break;
case DLL_PROCESS_DETACH:
break;
};
return 1;
}
Добавлено через 3 минуты
попробуй в настройке проетка в линковке снять выделение с
Use dynamic RTL
и в packages снять выделение с Runtime Packages
....
Кстати возможно даже Themida блочит (хотя хз, я с ней связей не имел, все дллки распакованы.)
а вообще чето это вообще странное)
__________________
Все относительно...
Последний раз редактировалось ALF, 03.11.2011 в 04:06.
Причина: Добавлено сообщение