Мне нужно защитить библиотеку C ++, которую я пишу. Библиотека имеет единую точку входа через класс foo
, Что я сделал, это:
//.hpp
class foo{
public:
foo();
....
}
//.cpp
foo::foo(){
if(check_for_lic()==result::failed){
throw no_lic_exception();
}
}
У класса есть только один конструктор.
У меня вопрос достаточно? Другими словами, без какого-либо обратного инжиниринга разработчик может построить foo
без проверки лицензии?
Постскриптум Я буду раздавать заголовки и статическая библиотека .Lib (или же .)
Если у него есть файл заголовка, он может просто добавить другой перегруженный конструктор для foo, который не проверяет лицензию, и использовать его.
Других решений пока нет …