Как реализовать в программе регистрацию, т.е. при первом запуске попросить у пользователя ввести некую последовательность символов, и если эта последовательность совпадает с эталонной то позволить ему пользоваться программой, если нет то выйти. Но если один раз была введа желаемая последовательность символов то больше не беспокоить пользователя просьбой ввода кода? Заранее благодарю.
Keva, ну сохраняй где-нить сам факт_зареганности проги. реест,файл,удаленный твой сервер. варианты есть. и исходя из наличия/отсутствия этой зареганности или показывай, или не показывай это окошко с регистрацией. я думаю, это все очевидно.
Keva воспользуйся любым готовым протектором исполняемых файлов. они хоть и глючат все, но это будет надежнее, чем начинать самому. хотя серьезная защита, конечно, должна разрабатываться самостоятельно, поскольку все серийные защиты достаточно быстро ломаются.
И так, давай разбираться последовательно: Тут проблем нет. Просто на данном этапе можно определить основные данные, а именно 1. Пользователь ввел строку ---> StringCompleteFlag:boolean:=false; 2. Сама строка с символами --> data:string (1..50); 3. Устройство ввода/вывода: это хранилище регистрационной информации сначала проверим, введена ли строка вообще: Код (Text): StringCompleteFlag?checkData():exceptMessage(); Где checkData() - ваша функция для сравнения данных из строки с данными на устройстве. exceptMessage() - ваша функция, выдающая сообщение об ошибке. checkData() должна возвращать булевское значение. то есть: Код (Text): isDataValid = checkData(); // так не делай - лучше через DEFINE:) дальше - проверяем валидность введенных данных: Код (Text): isDataValid?nextChoice():exceptMessage(); где nextChoice() - ваша функция, которая записывает на устройство факт правильного ввода данных пользователя. Просто прочитай с устройства факт правильного ввода данных
Keva Вопрос неправильно ставишь... В том же файле конфигурации или в реестре. Вопрос нужно ставить так, что как обезопасить источник хранения важных сведений. А тут как в Касперском. ЦРЦ, и пр.
kaspersky Поправка. Все серийные защиты и защиты всех серийных программ. Если программа не планирует покорять мировые рынки, имхо, достаточно и навесной защиты, возможно в комбинации с чем-нить простым, написанным самостоятельно.
nitrotoluol самопальные защиты, созданные, вроде описанной в #7, ломаются даже пионерами за шесть секунд одной рукой (в другой - пиво). протекторы, конечно, ломаются тоже, но уже двумя руками и не за девять секунд, к тому же прогнать файл через протектор по любому быстрее, чем лепить защиту.
Ну это и так всем известно, ты лучше посоветуй дещевый и простой(простой, не всмысле использования, а в смысле защиты) протектор который работает не через внешнюю схему(ключивые файлы и.т.д.) и просит ввести не большую последовательность букв(которая может посестится на сидероме, кто видел ключи от ASProtect тот поймeт даный критерий). Буду очень благодарен за расширение кругозора.
kaspersky ИМХО, в любом случае, те кто ставит крякнутый софт, никогда бы его не купили... Так что потери не столь серьезные. Но вот при разработке собственной защиты потери времени могут быть весомыми.