Несколько вещей Вы могли бы хотеть рассмотреть:
Контрольная сумма DLL. Используя криптографическая хеш-функция , можно сохранить эту внутреннюю часть файл лицензии или в DLL. Это предоставляет метод проверки решительному, если мой исходный файл DLL оригинален, или если это - файл лицензии для этого DLL. Несколько простых методов свопинга байта могут быстро взять Вашу хеш-функцию в глуши (и таким образом не легкие воспроизвести).
не хранят Вас хеш как строка, разделяют его на короткие целые без знака в различных местах.
, Поскольку Larry сказал, MAC-адрес довольно распространен. Существует много примеров того, как получить это на Проект Кода, но знать, что легко фальсифицировать в эти дни.
Мое предложение, должно быть использование частный/общедоступный ключи для поколения лицензии.
Короче говоря, режимы нападения будут двоичными (измените инструкции своего файла DLL), так защитите от этого или генерации ключей, так сделайте каждого пользователя лицензии, машину, и даже установку конкретными.
SQLite не поддерживает синтаксис CREATE OR REPLACE. Единственная известная мне база данных, поддерживающая этот синтаксис, - это Oracle, но я предполагаю, что есть и другие.
Отбросьте представление и создайте его с новым определением:
DROP VIEW IF EXISTS [vtable]; -- "OR REPLACE"
CREATE VIEW [vtable] AS SELECT * FROM Files_Table ORDER BY File;