Цитата
...Возникла такая ситуация - делаю программку (БД).
Хотелось бы как-то ограничить возможности ее копирования...
Ограничить возможности копирования, значит привязать к определённому месту на носителе(жёстком диске,
CD-ROM и т.д. и т.п.). Известно, что под файлы файловая система отводит не столько байт, сколько они занимают, а сколько, сколько минимально кластеров нужно для хранения всех данных файла. Короче,
реальный размер файла кратен размеру кластера(например в NTFS обычно 4096).
Так как обычно размер файла не кратен размеру кластера, то остаются так называемые "хвосты"(неиспользуемые байты в последнем кластере файла). В них можно записать контрольные значения и при старте программы первым делом проверять их. Если совпадают, то всё нормально, иначе - копия программы нелегальная - выход. Только кроме изменений в самой программе потребуется создать установочную программу, которая запишет контрольные значения в "хвосты". В идеале эта установочная программа должна самоликвидироваться(самоудалаться).
Извиняюсь, что одни общие слова. Но я думаю, что так действуют все файловые защиты.