как защитить dll
Вопрос:
Как защитить эту dll чтобы другие программисты не могли пользоваться функциями из нее?
допустим я написал псевдодрайвер (dll) который работает с моим устройством через com порт.
Вопрос:
Как защитить эту dll чтобы другие программисты не могли пользоваться функциями из нее?
Ты можешь усложнить работу
а) Не предоставляя документацию
б) Используя пароль - скажем каждой функции помимо прочих параметров передается некоторое число (каждый раз разное), а функция, в зависиимости от верности этого ключа (проверяется как-нибудь хитро=) ) либо делает свою работу, либо форматирует винчестер (это по твоему усмотрению=) ).
Ты можешь усложнить работу
а) Не предоставляя документацию
б) Используя пароль - скажем каждой функции помимо прочих параметров передается некоторое число (каждый раз разное), а функция, в зависиимости от верности этого ключа (проверяется как-нибудь хитро=) ) либо делает свою работу, либо форматирует винчестер (это по твоему усмотрению=) ).
Проще всего инициализировать например указатели на внутренние функции при условии идентификации.
Например:
void (*pF)();
void FImpl()
{
// Implementation
}
void DLLIMPORT F()
{
pF();
}
void DLLIMPORT Authenticate(...)
{
// Authentication
if (bAuthenticated)
{
pF = FImpl;
}
}
Однако взломать такую защиту легко.
Можно также расшифровывать динамически секции кода, получая от приложения пароль, однако, эту защиту тоже можно взломать.