Подскажите если ли библиотеки готовые, или программу которой можно решить сабж, т.е. я даю фирме программу и желательно чтобы каждая копия работала на одном компьютере...
ИМХО, такая привязка в несильно замороченном варианте дело получаса. Сам только сегодня добавил ее к своему заказному проекту. Так что можно и ручками...
Можно конечно сделать и самому, но на всякий случай поставь какой-нибудь протектор: ASProtect или ExeCryptor - решат все проблемы, правда придется пошаманить с настройками, если мощная защита не нужна то ставь ORiEN, тогда размер проги почти не увеличится (зависит от настроек) для данного случая наиболее подходит именно этот протектор. И главное - поставить протектор намного легче чем писать даже минимальный код самому - в этом приемущество.
т.е. заранее не известно на какой машине будет установленна прога. Если сохранять какую-то системную информацию, то при переустановке системы и той программы что ты дал, она должна работать, значит ограничение на запуск неприменимо. Этот вопрос имеет хотябы теотетическое решение? Первая идея что пришла в вголову ипользованием интернета: в проге ты получаешь уникальную сисемную информацию сохраняеть её на удалённом сервере, при следуещем запуске опрашаваешь удалённый комп на предмет наличия этой информации, если она есть значит ок. Но во-превых нужнен такой сервер, во-вторых кто будет использовать программу которая прикаждом запуске лезет в инэт? есть какие-нибудь идеии?
к биосу привзка, а также к серийнику харда или проца. В ORiEN и прочих это есть, значит все ок. А привязка к инету - не любил я это раньше и как показывает практика не зря, инет есть не везде, а если нет инета - значит нужно идти на уступки. Подходит только для пакастей, если прогу сломали (и причем эффективно).
Если пишешь привязку к железу сам, то лучше на хэше железа шифруй данные либо код программы. Процедуры защиты прогоняешь через вмпротект (хотя он платный), потом сверху мутатором + антиотладочные приемы. Работает конечно чуть дольше, но работает )))
я же говорю, заранее это не известно, как он может дать программу которая будет привязана в серийнику харда который стоит в кабинете у начальника Иван Иваныча. Т.е. ты даёшь прогу, первый раз она должна запуститься на любой машине, а последующий раз уже только на этой машине, если программу мы выслаем почтой, то как мы проверим что она была запущена прежде чем скопирована.
rain без инета - никак Если задача стоит так, что в каждый момент времени во вселенной должен работать только один экземпляр программы, то: инет+проверка флага на сервере. (При условии, что прога не взломана)