Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Самоуничтожение программы 
:(
    Опции темы
tumanovalex
  Дата 17.8.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 3.1.2005

Репутация: нет
Всего: нет



Товарищ написал программу, теперь хочет ее защитить от некоторых недобросовестных пользователей. Можно сделать так, чтобы программа запускалась с любого носителя и потом сама себя стирала? Т.е. он хочет, чтобы запустили 1 раз с носителя, поработали с ней, оценили достоинства и недостатки, потом она бы стерлась. Можно ли это сделать? Может быть есть еще какие-нибудь эффективные способы защиты программы? 
PM MAIL   Вверх
zkv
Дата 18.8.2007, 20:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 12
Всего: 92



tumanovalex, любая защита может быть снята - вопрос времени и ресурсов. 
По-этому, для начала определись, от кого защищаетесь. 
Вариант с удалением исполняемых файлов приложения защитит, разве что, от домохозяек (достаточно убить процесс во время выполнения - и файл(ы) останется нетронутым). 

Цитата(tumanovalex @  17.8.2007,  21:21 Найти цитируемый пост)
Может быть есть еще какие-нибудь эффективные способы защиты программы?  

те свой способ тоже называешь эффективным  smile 
все зависит от контекста задачи, например от того, в каких масштабах собираешься распространять демо-версии.

Пожалуй самый простой путь - это лишить прогу в демо-версии части функционала (к примеру если прогу типа MS Word лишить возможности сохранения документов, то можно будет оценить функционал программы, а вот пользоваться  будет мягко говоря неудобно)
Неплохой вариант для, например,  демонстрации выполненной работы фрилансером.
 
И вообще, на форуме есть ветка посвященная защите ПО, сходи сначала почитай, чего там люди говорят  smile 
PM MAIL   Вверх
sentry
Дата 18.8.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

Репутация: нет
Всего: 10



Цитата(zkv @  18.8.2007,  21:43 Найти цитируемый пост)
Пожалуй самый простой путь - это лишить прогу в демо-версии части функционала

Например, "забыть" дать некую dll, реализующую какие-либо функции...

А вообще, чтобы писать защиту, надо определить целевую аудиторию. Как уже сказал zkv, любую защиту снимут, если захотят.
PM MAIL   Вверх
jonie
Дата 18.8.2007, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



Цитата

Можно сделать так, чтобы программа запускалась с любого носителя и потом сама себя стирала?
фига технологии дошли... стираются даже с ReadOnly носителей...
Существуют критерии оценки надобности защиты... если вашу программу никто не бует ломать , то нужна ли она вообще?!
По поводу защиты : делать версию демку, где физически нет функций - пусть пробуют. Для конечных юзеров кто купит прогу делать ее зашифрованной  и ключ привязвать к железу... скажем, так поступают программы Cerber и им подобные....(http://www.securityprint.ru/cerber.html) ... правда в опред кругах взломанную ее найти можно... криптование там ГОСТ вроде...по крайней мере было 8)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
evkwarrior
Дата 21.11.2007, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 15.3.2007

Репутация: 1
Всего: 1



Товарищи, но всё же!!!
Скажите, как реализовать тот метод, который предлагал tumanovalex?
Очень нужно!
Exe-ник находится на жестком диске, права доступа администратора.
PM MAIL   Вверх
pompei
Дата 21.11.2007, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.9.2007

Репутация: нет
Всего: 6



Я помню делал так: экзешник "А" содержал бинарный ресурс другого экзешника "Б". "А" вытаскивал его в файл в оперативной памяти, запускал и выходил. "Б" при запуске пытался удалить "А" до тех пор, пока у него это не получалось (когда он полностью завершит работу и система освободит все его дескрипторы). После этого "Б" выполнял работу программы. В "А" можно поместить и другие файлы для "Б" и выгрузить их в виртуальные файлы в оперативной памяти. Есть недостаток этого метода: если "Б" большой, то нужно много ОЗУ, хотя свап спасает отлично.

Кстати я тоже самое делал и в линуксе

Я ещё делал так, чтобы можно было запускать несколько раз. Для этого в ресурсах "А" хранил целую переменную - количество оставшихся запусков. "Б" корректировал эту переменную, и если она становилась 0, то удалял "А".

Потом ещё добавил такую фишку. Перед удалением "А" записывал в "А" одни нули, чтобы нальзя было потом анделетить.

Потом хотел создать такую прогу, которая превращает какой-то нормальный экзешник в удаляемый, но до этого руки и не дошли.


Это сообщение отредактировал(а) pompei - 21.11.2007, 07:42
--------------------
А всё оказывается гораздо проще: пассивные наноструктуры - активные наноструктуры - системы наносистем - молекулярные наносистемы - сингулярность! По пять лет на каждый этап.
PM MAIL   Вверх
evkwarrior
Дата 21.11.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 15.3.2007

Репутация: 1
Всего: 1



Цитата(pompei @ 21.11.2007,  07:32)
Я помню делал так: экзешник "А" содержал бинарный ресурс другого экзешника "Б". "А" вытаскивал его в файл в оперативной памяти, запускал и выходил. "Б" при запуске пытался удалить "А" до тех пор, пока у него это не получалось (когда он полностью завершит работу и система освободит все его дескрипторы). После этого "Б" выполнял работу программы. В "А" можно поместить и другие файлы для "Б" и выгрузить их в виртуальные файлы в оперативной памяти. Есть недостаток этого метода: если "Б" большой, то нужно много ОЗУ, хотя свап спасает отлично.

Т.е. "Б" полностью содержался в виртуальной памяти. И после его завершения никаких файлов не оставалось?
А можете привести пример, как создать бинарный ресурс с екзешником, и как потом его извлечь и запустить, пожалуйста?

Цитата

Потом хотел создать такую прогу, которая превращает какой-то нормальный экзешник в удаляемый, но до этого руки и не дошли.


А это что за штука, вкратце?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.