PDA

Просмотр полной версии : dllexport и ошибка в памяти


Dimedrol1536
27.03.2015, 01:37
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
EXTERN_C __declspec(dllexport) int _cdecl Func(char *name)
{
int len1 = strlen(name);
xorcrypt(name, len1);
//вывод name в файл в шифрованом виде.
}

void xorcrypt(char* str, int len)
{
while (len--){ *(str++) ^= '\xAF'; }
}

Отсутствует доступ к адресу в модуле.
Как я понял, я могу делать чтение или запись, путаюсь в этом(
Если так, то функция объявлена не правильно, тогда как правильней?

Вызов в Delphi

type
TFunc=Function(name:pAnsiChar):Integer; cdecl;

var
IFunc:TFunc;
..............................

begin
..............................
@IFunc := GetProcAddress(hDLLInst, 'Func');
IFunc('Game');
..............................


Добавлено через 6 минут
Ошибка ссылается на xorcrypt(name, len1);

NoName%(2)
28.03.2015, 08:11
IFunc('Game');


тут ошибка по сути, то есть

IFunc(PChar('Game'));