![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нестандартная работа с dll
Frozzen © (2004-12-06 07:55:00)Здравствуйте господа!
Возможно ли реализовать такое: выделяем память, помещаем туда длл и или же отдельную фкнкцию, и вызываем ее.
Frozzen (2004-12-06 10:13:00) [41]novice_man
Стоит задача придумать защиту
Digitman
нет
но можно не длл,
наверно придется писать свой загрузчик
Fay (2004-12-06 09:37:00) [42]Во какая страшная вещь пришла в голову 8)
var
Lib, h : DWORD;
begin
h := CreateFile('c:\lib.DLL', GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, 0);
if h = INVALID_HANDLE_VALUE then RaiseLastOsError;
Lib := LoadLibrary('c:\lib.dll');
try
if Lib = 0 then RaiseLastOsError;
FreeLibrary(Lib);
finally
CloseHandle(h);
end;
novice_man (2004-12-06 09:19:00) [43]И почему это програмисты не любят пользователей своего (своих) продуктов.
Вопрос:у Вас стоит лицензионная версия OS и Delphi? Если да то сколько это стоит?
Digitman (2004-12-06 09:18:00) [44]
> хочу ключевую функцию поместить в длл
зачем ? эту ДЛЛ будет использовать более чем одно приложение ?
novice_man (2004-12-06 09:16:00) [45]Удачи!
Frozzen (2004-12-06 09:15:00) [46]В общем так
хочу ключевую функцию поместить в длл, зашифровать эту длл ее. допустим ключем ид-винчестера. Ну а затем расшифровать в память и выполнить.
Fay (2004-12-06 09:08:00) [47]2 Frozzen (06.12.04 07:55)
Сходите на wasm.ru. Довольно быстро поймёте, что не стоит изобретать этот велосипед - он не поедет.
Digitman (2004-12-06 09:08:00) [48]
> Frozzen (06.12.04 09:05) [16]
> уязвиме место
сделай это "место" "неуязвимым"
и вообще непонятно "чего тебе надобно, старче"
Frozzen (2004-12-06 09:07:00) [49]крипто алгоритмом зашифрована
Frozzen (2004-12-06 09:05:00) [50]исли ее в темп расшифровывать
то это уязвиме место
novice_man (2004-12-06 09:05:00) [51]Frozzen (06.12.04 08:54) [11]
А без LoadLibrary возможно
допустим длл-зашифрована
Что значит зашифрована?
Digitman (2004-12-06 08:59:00) [52]
> допустим длл-зашифрована
так расшифруй ! делов-то ..
а далее - [3]
Fay (2004-12-06 08:57:00) [53]2 novice_man © (06.12.04 08:55) [12]
Sorry, я на Integer-е проверял 8). Видимо, Delphi просто разрешает такую фигню 8)
novice_man (2004-12-06 08:55:00) [54]Так я проверил оба варианта! Никакой разницы! Компилится нормально.
Frozzen (2004-12-06 08:54:00) [55]А без LoadLibrary возможно
допустим длл-зашифрована
Fay (2004-12-06 08:53:00) [56]2 novice_man © (06.12.04 08:51) [9]
А теперь
@ppp := GetProcAddress(hLib, 'MyProc')
?
novice_man (2004-12-06 08:51:00) [57]Попробовал так и нормально, проглатил компилятор:
var
hLib: Cardinal;
ppp: procedure;
begin
ppp := GetProcAddress(hLib, 'MyProc')
end;
Правда не проверял как сработает ;).
Fay (2004-12-06 08:47:00) [58]>> но везде в литературе (которая попадала) в руки было
Left side cannot be assigned to
novice_man (2004-12-06 08:43:00) [59]"баран" вовсе не обязателен
Точно :), но везде в литературе (которая попадала) в руки было так и не задовался вопросом ПОЧЕМУ?
Так вот ПОЧЕМУ?
Digitman (2004-12-06 08:40:00) [60]
> novice_man © (06.12.04 08:37) [4]
"баран" вовсе не обязателен