Вопрос № 149249: Здравствуйте! Я пишу программу на C++ Builder. Есть большая вероятность того что программу уведут конкуренты, т.к. предыдущую программу увели, в связи с этим есть необходимость в защите программы. Вот только как её защитить? Пароли здесь не помогут, ...
Вопрос № 149.249
Здравствуйте! Я пишу программу на C++ Builder. Есть большая вероятность того что программу уведут конкуренты, т.к. предыдущую программу увели, в связи с этим есть необходимость в защите программы. Вот только как её защитить? Пароли здесь не помогут, установленую программу просто скопируют с компа ползователи которые работают с программой и передадут конкуретам за скромное вознаграждение. Я подумал что лучше всего будет сделать так: При запуске программа проверяет наличие какого-нибудь файла, но не в папке
с установленной программой , а в другой папке. Например в папке WINDOWS и если файл существует, то программа продолжает работать, а если файл не найден, то выдаётся кокое-нибудь сообщение и программа закрывается. Ещё можно проверить у файла наличие атрибутов, но как проверить наличие файла и наличие атрибутов у файла я не знаю. Я перерыл всю имеющуюся у меня литературу в поисках ответов на эти вопросы и ничего не нашёл. Если кто знает подскжите пожайлуста как провер
ить наличие файла и наличие атрибутов у этого файла. Зарание благодарю.
Отвечает: Архипов Александр Леонидович
Здравствуйте, Грибанов Фёдор! Почитайте про файл SysUtils.hpp, он содержит функции управления каталогами и файлами (и еще много чего)
#include <SysUtils.hpp> ...
bool FileExists(const System::AnsiString FileName) //Определяет, существует ли файл FileName int FileGetAttr(const System::AnsiString FileName) //Возвращает атрибуты файла FileName int FileGetDate(int Handle) //Возвращает дату создания файла с дескриптором Handle или -1, если такого файла нет
Исправлены синтаксические ошибки.
--------
∙ Отредактировал: sir Henry, Академик
∙ Дата редактирования: 02.11.2008, 18:29 (время московское)
#thank 149249 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Arct
Здравствуйте, Грибанов Фёдор! Лучше не файл,а ветка реестра)... Благо классы для работы с реестром заложены в BCB изначально. Также можно попробовать привязать установленную программу к компьютеру(т.е. к железу), я к сожалению в этом не ас((( Почитайте мастеров, Криса Касперски и т.п. Но примерно: читаем серийные номера процессора, чипсета и т.д. и на их основе генерим ключ, но тогда вам потребуется обратная связь с пользователем, чтобы на основе этого ключа генерировать некий код который бы разрешал
работу приложения... Что мог подсказал, благодарить не надо)
Ответ отправил: Arct (статус: 1-й класс)
Ответ отправлен: 04.11.2008, 00:46
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 149249 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ.
Привязка установленной программы к железу это интересно. Обязательно что-нибудь очитаю на эту тему.
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.