Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите состыковатся с DLL написаной на C


Mouserx ©   (2004-12-03 15:20:00) 

Мастера, пишу я клиент для игрушки. У нее используется особенный метод криптации логина. Документации по етому вопросу вообще нету! Еле нашлась DLL, написаная на С, которая умеет ето делать. Мастера, очень нужна ваша помочь.

DLL очень большая, поетому пишу необходимые куски из нее:

Обьявление функций:

BOOL APIENTRY DllMain(HINSTANCE hDLLInst, DWORD fdwReason, LPVOID lpvReserved);

void WINAPI Install(void);

...........................

extern "C" void LoginCryptInit(LoginCryptObj *obj);
extern "C" void LoginCryptEncrypt(LoginCryptObj *obj, unsigned char *in, unsigned char *out, int len);
extern "C" int CalculateKeys(BYTE Plaintext[62], BYTE Ciphertext[62], unsigned int *LoginSeed, unsigned int *ClientLoginKey1, unsigned int *ClientLoginKey2);


Далее пишу описание LoginCryptObj, который мне необходимо описать на Delphi:
/* Login crypt */
typedef struct tagLoginCryptInfo
{
/* public, must be declared */
   unsigned int pseed;
unsigned int k1, k2;
/* private, dynamic vars used by the crypt code, each encrypted byte changes them */
unsigned int m_key[2]; /* [0] - m_CryptMaskLo [1] - m_CryptMaskHi */
unsigned int m_k1, m_k2; /* [1] - m_MasterHi  [2] - m_MasterLo */
}LoginCryptObj;


Вопросы:

как привязать ету функции в Delphi к DLL и как правильно их использовать?
Sharemem нужен?
Как правильно обьявить LoginCryptObj?
Что еще необходимо?

Заранее спасибо.


Mouserx   (2004-12-03 18:14:00) [1]

Люди, что никто незнает хоть чуть-чуть Си?
Спасибо всем за "огромную" помощь!


Mouserx   (2004-12-03 16:57:00) [2]

Мастера, что никто не знает как? :-(


Наверх

Титульная страница Поиск, карта сайта Написать письмо