Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243

Дырка в проге.

10.08.2009, 13:31. Показов 4677. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть очень интересный вопрос.
Вот программер написал свою прогу, долго и старательно... И очень часто бывают такие случаи, что их обманывают и не платят или используют ту прогу в своих целях...
Я думаю в таких случаях желательно сделать "дырку", что б программист смог если что, остановить работу все накопированных его программ. Как это сделать? У кого-то есть какие-то идеи?
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2009, 13:31
Ответы с готовыми решениями:

Если ярлыка к проге нет, то Создать ярлык к проге по адресу (текущий адрес)
Подскажите plz фичу: Если ярлыка к проге нет, то Создать ярлык к проге по адресу (текущий адрес)

Дырка под футером
столкнулась вот с такой проблемой, т.к. это моя первая попытка верстки: под футером появляется дырка, по высоте разная, зависит от браузера...

Дырка с чтением строк
Пытаюсь считать что-то наподобие абзаца: там есть и пробелы, и переводы строк. Но программа почему-то не воспринимает переводы строк и...

39
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.08.2009, 13:35
В общем случае никак этоне сделать. Если кто-то будет очень сильно хотеть использовать бесплатно твою программу - оно это сделает. Серьёзная защита может только сократить количество умельцев, способных взломать программу, но абсолютной защиты не даст. Да и денежных и ресурсных затрат может понадобиться больше, чем на написание софта
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.08.2009, 13:35
ну если вы даже сделаете такую дырку, не факт, что другие не смогут ее юзать в своих целях... да и вообще - если софт воруют, значит он действительно полезен, поэтому лучше двигаться в сторону устранения вообще всех дырок в коде, чем еще и свои лепить для каких-то целей... народ такому софту быстро перестает доверять, потому что никому не надо, чтобы через какие-то лазейки у него копошаться в компе, даже с такой целью, как защита своих авторских прав...
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
10.08.2009, 14:02  [ТС]
Эт понятно, но например для менеджера, хотя б, потом, когда он заплатит деньги, дать уже потом без дырки прогу. Как лутше ее реализовать?
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.08.2009, 14:22
Вообще делается обычно бесплатная trial-версия, в оторой отсуствует часть функциональности или которая через определённый период времени перестаёт работать. Эта версия для ознакомления. Далее, если человеку понравилось, то он покупает платную версию. Во всяких организациях стараются не заморачиваться с пиратским софтом, им проще заплатить 10 (20, 50) баксов, чем потом доказывать, что они не верблюды. Именно такие пользователи и будут в основном платить. А все остальные скорее всего будут пользоваться пиратской версией, особенно в нашей стране
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
10.08.2009, 14:34
Цитата Сообщение от Evg Посмотреть сообщение
Вообще делается обычно бесплатная trial-версия, в оторой отсуствует часть функциональности или которая через определённый период времени перестаёт работать. Эта версия для ознакомления. Далее, если человеку понравилось, то он покупает платную версию. Во всяких организациях стараются не заморачиваться с пиратским софтом, им проще заплатить 10 (20, 50) баксов, чем потом доказывать, что они не верблюды. Именно такие пользователи и будут в основном платить. А все остальные скорее всего будут пользоваться пиратской версией, особенно в нашей стране
только хотело это написать
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.08.2009, 14:50
Как как берем в проге прописываем самоуничтожение на определённую дату - ну тупо пусть прога делает bat-file на удаление и перед выходом в эксплорер это посылает или в реестре прописываем удаление файла проги при перезагрузке, а лучше ещё берём у заказчика серийный номер винды на которой должна будет работать прога и при запуске проги на другом компе, тож прогу удапляем. Чтоб не быть голословным выкладываю проектик активации промта 8-го, правда в выкладываемом примере я удалил содержимое из файлов активации, но прогу в работе можно будет увидеть
Сразу предупреждаю с завтрашнего дня прога начнёт удалять саму себя))))
Вложения
Тип файла: rar promt_crk.rar (89.1 Кб, 26 просмотров)
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.08.2009, 16:17
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Как как берем в проге прописываем самоуничтожение на определённую дату - ну тупо пусть прога делает bat-file на удаление и перед выходом в эксплорер это посылает или в реестре прописываем удаление файла проги при перезагрузке, а лучше ещё берём у заказчика серийный номер винды на которой должна будет работать прога и при запуске проги на другом компе, тож прогу удапляем. Чтоб не быть голословным выкладываю проектик активации промта 8-го, правда в выкладываемом примере я удалил содержимое из файлов активации, но прогу в работе можно будет увидеть
Сразу предупреждаю с завтрашнего дня прога начнёт удалять саму себя))))
По-моему даже юный хакер без стажа работы ломает такое на ура
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
10.08.2009, 16:34  [ТС]
, а может в ини прописать например, и что б он создался, там при запуске проги, гдето в сис32???
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.08.2009, 17:02
Чем мог тем помог, я ж на звание супер пупер хацкера не претендую. Смысл в продвинутой защите, если заказчик програмера среднего уровня попросил написать, значит зачем ставить защиту от супер пупер программера при взломе - если его устуги дороже ваших стоят, поэтуму уж лучше вам заплатить...

Всё гениальное просто))))
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
10.08.2009, 17:09
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Чем мог тем помог, я ж на звание супер пупер хацкера не претендую. Смысл в продвинутой защите, если заказчик програмера среднего уровня попросил написать, значит зачем ставить защиту от супер пупер программера при взломе - если его устуги дороже ваших стоят, поэтуму уж лучше вам заплатить...
Хм... интересный взгляд. Просто я на проблему смотрел под другим углом. У человека нет конкретного заказчика, он просто пишет программу и продаёт её всем желающим. После твоего поста, перечитав внимательно первый, мне начинает казаться, что твоя точка зрения более правильная.

Tree, уточни пожалуйста этот момент. Ты пишеь программу для заказчика или для всех?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
10.08.2009, 18:41
Мне кажется, что все вышеперечисленные варианты хороши, но стоит их объединить.

Trial+Самоудаление+Закрывается через ХХ итд
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
10.08.2009, 21:39  [ТС]
Прогу я делал для заказчика... Ее ломать никто не будет.
Я думал возможно есть уже какие-то проверенные методы через интернет прогу запретить... Вот о какой дырке я писал...
1
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
10.08.2009, 21:44
Цитата Сообщение от Tree Посмотреть сообщение
Прогу я делал для заказчика... Ее ломать никто не будет.
Я думал возможно есть уже какие-то проверенные методы через интернет прогу запретить... Вот о какой дырке я писал...
Есть. Но работает только если твоей проге жизненно необходим инет. Иначе - любой админ отключит это.
Прога используя источник данных в инете (твой сайт, новостные сайты и т.д.; у нас тут где-то на этот счёт целый диспут был) проверяет стоит ей ещё работать или уже пора прекращать.
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
10.08.2009, 21:49  [ТС]
Да, проге необходимо в нет конектится.
1
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
10.08.2009, 21:59
Цитата Сообщение от Tree Посмотреть сообщение
Да, проге необходимо в нет конектится.
Тогда сделай в проге запрос на свой сайт, в запросе пусть передаёт свой идентификатор. РНР скрипт на сайте находит его в базе и если там стоит "можно" - отсылает "ОК" программе, иначе - чтото другое.
Программа получив ОК как ни в чём не бывало работает. Иначе - компосирует мозг на предмет оплаты
Такая защита (при условии того, что её не будут пытаться ломать) пишется от силы за час.
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.08.2009, 10:55
Я не специализст по защите/взлому, но попробую дать несколько советов. Оговорюсь сразу, что по двум пунктам эти советы идут сразу в печь, а потому если они не устраивают, то лучше не тратить время на защиту вообще:
  1. Можно сразу сделать дубликат исходников программы, а потом запустить их на другом компе (предварительно поменяв в нём дату). Если заказчик для этого слишком глуп, или по каким-либо причинам запускать программу нужно на каком-то конкретном компе, то считаем, что этот пункт нас не колышет
  2. Заказчик можен нанять хакера или профессионального программиста, который попросту изменит код, чтобы обойти все проверки (т.е. по сути их отключит). Такая работа требует времени, а реально может оказаться так, что время программиста окажется дороже, чем честно покупать программу. Да и заказчик может очкануть связываться со сторонними хакерами, если нет своего. При аких условиях этот пункт нас также не колышет

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

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

Один из простых способов - в реестре. При этом теоретически это место находится просто: перед и после запуска программы снимается образ реестра, а дальше ищутся отличия. Такое под силу сделать обычному сисадмину. Если додумаются сделать это до того момента, как программа перестанет работать (потому что с этого момента запись перестаёт модифицироваться). Можно немного расширить этот способ, добавив в запись счётчик поличества запусков и, например, каждый 10-й запуск лезть в другое место реестра и чего-то править там. Таким образом с вероятностью 90% вторую запись в реестр не отловят.

Второй способ - в файле. Но если делать простую запись в файл, то файл можно тупо удалить. Поэтому надо делать немного посложнее. Программа должна держать в файле кучу своих данных, без которых она не сможет работать (например, начальные значения некоторых глобальных переменных). А при каждом запуске эти данные загружать из файла. При этом наша запись будет прятаться где-то среди этих данных и будет внутри файла модифицироваться (не трогая при этом остальные данные). Удалив файл, испортят работу программы. Такой вариант менее надёжный, потому как для первого пункта ограничений появляется более простое условие: в самом начале просто дублируем все файлы, а потом купируем куда надо и запускаем программу. С точки зрения программы это будет первый запуск
1
 Аватар для Некромант
5 / 5 / 0
Регистрация: 10.08.2009
Сообщений: 17
11.08.2009, 11:34
Вот, в интернетах нашёл, только это уголовная статья.
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.08.2009, 12:04
Цитата Сообщение от Некромант Посмотреть сообщение
Вот, в интернетах нашёл, только это уголовная статья.
Вот такой ерундой заниматься не рекомендую. Если заказчик урод, то это не повод, чтобы самому стать уродом
1
 Аватар для Некромант
5 / 5 / 0
Регистрация: 10.08.2009
Сообщений: 17
11.08.2009, 12:11
Цитата Сообщение от Evg Посмотреть сообщение
Вот такой ерундой заниматься не рекомендую. Если заказчик урод, то это не повод, чтобы самому стать уродом
Цитата Сообщение от Tree Посмотреть сообщение
Я думаю в таких случаях желательно сделать "дырку", что б программист смог если что, остановить работу все накопированных его программ. Как это сделать? У кого-то есть какие-то идеи?
Я так понял просьбу автора, но предупредил что дырка в программе - уголовная статья. А что так делать не нужно - это я согласен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2009, 12:11
Помогаю со студенческими работами здесь

Дырка в графике- что не так?
код прост как пробка: semilogy(R,'.') hold on; semilogy(R,'r') не могу понять - по чему красная линия с разрывом? Как...

Дырка – это неподвижный положительный ион
Дырка – это неподвижный положительный ион Гипотеза А. Ампера о природе магнетизма атома, основанная на том, что электроны, вращаясь...

Ajax обновление капчи - дырка в безопасности
Доброго времени суток. Зашел в тупик, помогите решить проблему. Есть страница регистрации пользователя, на которую выводится...

сма Candy G04 085-06S 31002251 0749 0301, дырка в барабане
Сма имеет неразборной бак, полетели подшипники, сальник сделал реставрацию бака все ок! Но на барабане имелась маленькая трещина гдето...

дырка для захвата видео с видео камеры
На моем компе стоит Geforce 7600 GS на ней нет порта для видеокамеры как на ноуте:wall: можно ли купить отдельно карту для камеры???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru