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

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

10.08.2009, 13:31. Показов 4681. Ответов 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
11.08.2009, 12:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Некромант Посмотреть сообщение
Я так понял просьбу автора
Насколько я понял, такой вид дырки он описал от незнания того, как вообще такие вещи делаются (собственно, для того он и спросил)
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
11.08.2009, 12:19
Если зазчику очень захочется, то он взломает прогу.
Есть базовый принцип защиты информации: защита информации должна стоить дешевле её взлома. Т.е. если стоимость защиты высокая, то стоимость взлома должна быть ещё выше.
Защиту, которую предложил Evg ломается в элементе: отслеживается, что меняет прога и меняется то, что надо.
Защита Некромант - это вообще не защита: если у заказчика стоит firewall и все соединея с инетом делаются через одну машину, то это никак нельзя осуществить. А если заказчик - фирма, то это 100-пудово так.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.08.2009, 12:24
Цитата Сообщение от Airhand Посмотреть сообщение
Если зазчику очень захочется, то он взломает прогу.
Защиту, которую предложил Evg ломается в элементе: отслеживается, что меняет прога и меняется то, что надо.
Я сразу оговорил два пункта, при невыполнении которых смысла писать защиту нет, потому как программа, которую делает автор, врядли стОит бешенных денег, чтобы связываться с современными средствами защиты
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
11.08.2009, 14:44  [ТС]
Да, интересно... Классные варианты...

Добавлено через 3 минуты 27 секунд
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Тогда сделай в проге запрос на свой сайт, в запросе пусть передаёт свой идентификатор. РНР скрипт на сайте находит его в базе и если там стоит "можно" - отсылает "ОК" программе, иначе - чтото другое.
Программа получив ОК как ни в чём не бывало работает. Иначе - компосирует мозг на предмет оплаты
Такая защита (при условии того, что её не будут пытаться ломать) пишется от силы за час.
только как это организовать?
1
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
11.08.2009, 15:16
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Тогда сделай в проге запрос на свой сайт, в запросе пусть передаёт свой идентификатор. РНР скрипт на сайте находит его в базе и если там стоит "можно" - отсылает "ОК" программе, иначе - чтото другое.
Делается затычка, которая при отправке запроса определённого на определённый сайт, присылает "ОК". Стоит файервол и прога даже не знает, что никуда не ходит.
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.08.2009, 16:06
Цитата Сообщение от Airhand Посмотреть сообщение
Делается затычка, которая при отправке запроса определённого на определённый сайт, присылает "ОК". Стоит файервол и прога даже не знает, что никуда не ходит.
Для этого надо как минимум понять как работает защита (т.е. взломать её; а автор взлом исключает). Потом эту затычку надо создать. Что тоже небесплатно.
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
11.08.2009, 17:22
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Для этого надо как минимум понять как работает защита (т.е. взломать её; а автор взлом исключает). Потом эту затычку надо создать. Что тоже небесплатно.
Что там понимать: файервол скажет куда ломится прога. Из двух вариантов отсеиваем один: он нужен для работы. Осьаётся 1 вариант с ним и работаем. Всё окозалось намного проще, чем ты думаешь.
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.08.2009, 17:49
Цитата Сообщение от Airhand Посмотреть сообщение
Что там понимать: файервол скажет куда ломится прога. Из двух вариантов отсеиваем один: он нужен для работы. Осьаётся 1 вариант с ним и работаем. Всё окозалось намного проще, чем ты думаешь.
Хорошо. Нашли что прога ломится куда не просили. Но если просто заблокировать - прога работать откажется. Т.е. нужно понять что она передаёт и что получает. А для этого уже средств файерволла не хватит. Хотя тоже не особо проблематично проследить.

Однако я ведь только подал идею, которую можно развивать. Например передавать не ОК, а новый ID, который будет использован при следующем обращении к сайту. При этом можно не случайно генерировать ИД, а по какому-то алгоритму и сравнивать возвращённый и рассчитанный самой программой. Если же лицензия кончилась - то сайт должен выдавать заведомо неверный ИД, но так, чтоб он для хакера выглядел как верный.
Кроме того, можно блокировать работу программы не сразу, а через определённый интервал времени после обнаружения нелицензионности. Интервал может выбираться из определённого списка значений случайно, но должен быть примерно равным тому моменту, когда пользователь (по мнению программиста) сделает достаточное количество изменений. Кроме того, при нажатии на "сохранить" работа должна немедленно блокироваться. Самое лучшее - тупо закрыть прогу без объяснения причин. Ну или перед самым закрытием вывести окошко с просьбой заплатить.
1
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
11.08.2009, 18:40
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Хорошо. Нашли что прога ломится куда не просили. Но если просто заблокировать - прога работать откажется. Т.е. нужно понять что она передаёт и что получает. А для этого уже средств файерволла не хватит. Хотя тоже не особо проблематично проследить.
Работать - не значит заблокировать.
Однако я ведь только подал идею, которую можно развивать.
Изначально фиговая идея.
Например передавать не ОК, а новый ID, который будет использован при следующем обращении к сайту.
И, конечно, этого не увидят.
При этом можно не случайно генерировать ИД, а по какому-то алгоритму и сравнивать возвращённый и рассчитанный самой программой. Если же лицензия кончилась - то сайт должен выдавать заведомо неверный ИД, но так, чтоб он для хакера выглядел как верный.
Что мешает проге подсовывать один и тот же ИД ? И вся твоя хитрая защита накрылась медным тазом.
Кроме того, можно блокировать работу программы не сразу, а через определённый интервал времени после обнаружения нелицензионности. Интервал может выбираться из определённого списка значений случайно, но должен быть примерно равным тому моменту, когда пользователь (по мнению программиста) сделает достаточное количество изменений. Кроме того, при нажатии на "сохранить" работа должна немедленно блокироваться. Самое лучшее - тупо закрыть прогу без объяснения причин. Ну или перед самым закрытием вывести окошко с просьбой заплатить.
Вся твоя защита не стоит и гроша. Evg прав: нет такой защиты, которую бы не сломали. Вопрос лишь в том как быстро это смогут сделать и какое кол-во ресурсов потратят.
Ты что, думаешь у Били Гейтса не хватает денег ? Если бы такая зашита существовала, он бы её применил для защиты вин хр.
Для одной проги по затратам времени и ресурсов, лучше всего привязаться к кому-нибудь серийнику. Я не знаю к какому и как.
0
UNIX-way
 Аватар для Delphin_KKC
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
11.08.2009, 18:50
Цитата Сообщение от Airhand Посмотреть сообщение
Что мешает проге подсовывать один и тот же ИД ? И вся твоя хитрая защита накрылась медным тазом.
Всё зависит от алгоритма генерации этого ИД. Если его привязать к количеству запусков программы или к чему-то в интернете - тогда старый ИД не прокатит.
Цитата Сообщение от Airhand Посмотреть сообщение
Вся твоя защита не стоит и гроша.
А где я говорил что предложенная мной тут защата - мегакул? Я знаю что есть способы написания трудноломаемых защит (как то шифрование процедур и расшифровка их напрямую в память и т.д.). Но автор изначально сказал что мегакрутая защита ему не нужна.
Цитата Сообщение от Airhand Посмотреть сообщение
Evg прав: нет такой защиты, которую бы не сломали. Вопрос лишь в том как быстро это смогут сделать и какое кол-во ресурсов потратят.
И он прав. Я тоже такого мнения. Посмотри в моей подписи ("нет ничего невозможного").
Что один человек придумал - другой всегда сможет взломать. Сколько веков насчитывается с момента изобретения замка? А сейфы до сих пор взламывают
Цитата Сообщение от Airhand Посмотреть сообщение
Ты что, думаешь у Били Гейтса не хватает денег ? Если бы такая зашита существовала, он бы её применил для защиты вин хр.
Думаю что Гейтс точно так же соблюдал балланс между ценой винды и ценой защиты.
Цитата Сообщение от Airhand Посмотреть сообщение
Для одной проги по затратам времени и ресурсов, лучше всего привязаться к кому-нибудь серийнику. Я не знаю к какому и как.
Возможно. Тоже неплохой вариант.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.08.2009, 19:08
Вариант с проверкой по инету не совсем хорош вот скакой стороны. Все программы, которые проверяют себе через интернет в своём описании выставляют такое требование, а так же пишут об этом в лицензионном соглашении. Т.е. если программа делает какое-то дополнительное соединение, не указанное в ТЗ, то теоретически это означает невыполнение договора, а потому можно прие$аться с юридической стороны

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

По поводу того, что всё ломается. Взлом стОит денег. И вопрос в том, нужен ли этот геморой закачику - связываться со сторонними прогрммистами и хакерами. Если за час пишется защита для программы стоимостью в 100 баксов, условная цена взлома которой так же равна 100 баксам, то почему бы это не реализовать?
1
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
11.08.2009, 20:00
а по-моему, использование инета является одним из самых надежных средств защиты. возьмите касперского, возьмите onlineRPG.

предложу свой алгоритм
1. программа посылает уникальный seed
2. сервер присылает в ответ hesh
3. программа шифрует весь свой трафик, который пересылает на сервер, используя полученный hesh

все.
1
 Аватар для AlexSt
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
12.08.2009, 10:16
Дырку если и оставлять то в веб приложениях, там это актуальней, а в сях думаю лучше использовать просто триальную версию, с ограниченными возможностями, например: показ в столбце всего 5 строк из БД , и подобные варианты, если заказчику понравится программа то он её купит, а подправить пару строк кода не так сложно. практично и несложно. да и не сломаешь тут уже ничего.
0
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
14.08.2009, 01:38
Цитата Сообщение от Evg
При этом наша запись будет прятаться где-то среди этих данных и будет внутри файла модифицироваться (не трогая при этом остальные данные). Удалив файл, испортят работу программы. Такой вариант менее надёжный, потому как для первого пункта ограничений появляется более простое условие: в самом начале просто дублируем все файлы, а потом купируем куда надо и запускаем программу.
Тогда можно наверное использовать хеширование,а результат хранить где-то в реестре,причём в специально запутанном виде,и сравнивать?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.08.2009, 09:16
Цитата Сообщение от #pragma Посмотреть сообщение
Тогда можно наверное использовать хеширование,а результат хранить где-то в реестре,причём в специально запутанном виде,и сравнивать?
Как кодировать, как потом это распознавать - вопрос десятый. Основной вопрос - это в какое место спрятать, чтобы трудно было найти и трудно было безболезненно удалить
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
16.08.2009, 13:44  [ТС]
Тяжело сказать что защита по нету хуже чем защита без него, ведь в твоих руках прога. Вот надуют тебя и выгонят с работы, а твой продукт пустят на продажу, как серийник поможет проучить гадов?
Второй момент использования инета - это то, что для взлома достаточно студента-админа средней квалификации. Сисадмин есть в любой конторе, в которой имеются компы для выхода в инет.
Если прога работает з нетом, как студент-админ сможет предотвратить неминучую остановку работы проги?
А как сделать, что бы прога подала запрос на сайт? Через Инди?
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
16.08.2009, 17:09
Цитата Сообщение от Tree Посмотреть сообщение
Вот надуют тебя и выгонят с работы, а твой продукт пустят на продажу, как серийник поможет проучить гадов?
Если есть такие опасения, то правильным вариантом было бы менять работу, а не тратить время на защиту, которую всё равно нано или поздно сломают. Хотя я ситуёвину воспринял так, что заказчик отдельно, а ты отдельно, и ты не являешься их сотрудником, а потому по закону им чревато продавать твою прогу. Да и если есть хоть капля мозгов, то попросту нет смысла продавать прогу, исходника которой у них нет

Цитата Сообщение от Tree Посмотреть сообщение
Если прога работает з нетом, как студент-админ сможет предотвратить неминучую остановку работы проги?
Студент-админ просто посмотрит, что шлётся по сети, и скорее всего смекнёт, а что надо сделать, чтобы программа думала, что всё нормально. В варианте без сети это всё самое тоже делается, но с использованием отладчика. А тут нужен программист, коих всё-таки меньше, чем админов. К тому же прямые руки обязательны (в то время как админ подойдёт и криворукий)
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
23.08.2009, 16:55
Цитата Сообщение от Lolcht0 Посмотреть сообщение
а по-моему, использование инета является одним из самых надежных средств защиты. возьмите касперского, возьмите onlineRPG.
У касперского совсем другой случай: он базы ДОЛЖЕН тянуть из инета, т.е. соединение с инетом ДОЛЖНО быть. А у бухгалтерской проги особенности другие: она ДОЛЖНА работать и без инета. Любой файервол закроет эту дырку и что тогда ? Прога не будет работать: позвонит заказчик и вствит...
Так что с инетом имеет смысл связываться только тогда, когда прога без него жить не может.
0
 Аватар для Tree
74 / 74 / 4
Регистрация: 31.05.2009
Сообщений: 243
23.08.2009, 20:13  [ТС]
Собственно прога конектится через нет на свою базу, если не будет соединения, то она полюбэ не заработает.
Мне интерестно как можно организовать, что б прога получала разрешение через нет.
Мы, вроде, дошли до того, что на сервере должен лежать файл, и прога должна его читать?
Но как это организовать? Может сделать так, что б она каждый рас его качала, а потом уже проверяла? Да, это идея не из лучших, но как вы на это смотрите, может по другому попробовать?
1
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
23.08.2009, 20:25
Сделай как Каспер и семёрка. Проверяй регистрацию через инет. Только не тяни весь файл с сервера, а то содержимое этого файла станет сразу известным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.08.2009, 20:25
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru