Страница 5 из 8

Защита программы

Добавлено: 08 Сентябрь 2016, 16:07
kreator
Губин Игорь писал(а):А потом находим в программе имя файла и самым обычным бинарным редактором его правим. И запускаем новую копию программы с новым блокирующим файлом.
"Тут-то нам и попёрло" :cat:
Куда-то делся мой предыдущий пост. Ну да ладно. На серьёзную защиту решение, возможно, и не тянет. Спорить не буду. Но Вы запросто можете вскрыть TPS файл с опцией Encrypt? Допустим. Тогда есть возможность подцепить внешнее шифрование по стандартным алгоритмам шифрования.

Защита программы

Добавлено: 08 Сентябрь 2016, 16:24
Губин Игорь
kreator писал(а):
Губин Игорь писал(а):А потом находим в программе имя файла и самым обычным бинарным редактором его правим. И запускаем новую копию программы с новым блокирующим файлом.
"Тут-то нам и попёрло" :cat:
Куда-то делся мой предыдущий пост. Ну да ладно. На серьёзную защиту решение, возможно, и не тянет. Спорить не буду. Но Вы запросто можете вскрыть TPS файл с опцией Encrypt? Допустим. Тогда есть возможность подцепить внешнее шифрование по стандартным алгоритмам шифрования.
Не файл вскрываем! Меняем имя файла в самой программе, а файл просто копируем. Т.е. запущенный отредактированный модуль лезет в тот же файл, но с другим именем. А сам файл мы, естественно, не трогаем.

Кстати, при наличии доступа к задаче дебагером легко определяется пароль открытого файла. Где-то на форуме даже инструкция болталась.

Защита программы

Добавлено: 08 Сентябрь 2016, 17:06
PavelNK
Губин Игорь писал(а):
kreator писал(а):
Губин Игорь писал(а):А потом находим в программе имя файла и самым обычным бинарным редактором его правим. И запускаем новую копию программы с новым блокирующим файлом.
"Тут-то нам и попёрло" :cat:
Куда-то делся мой предыдущий пост. Ну да ладно. На серьёзную защиту решение, возможно, и не тянет. Спорить не буду. Но Вы запросто можете вскрыть TPS файл с опцией Encrypt? Допустим. Тогда есть возможность подцепить внешнее шифрование по стандартным алгоритмам шифрования.
Не файл вскрываем! Меняем имя файла в самой программе, а файл просто копируем. Т.е. запущенный отредактированный модуль лезет в тот же файл, но с другим именем. А сам файл мы, естественно, не трогаем.

Кстати, при наличии доступа к задаче дебагером легко определяется пароль открытого файла. Где-то на форуме даже инструкция болталась.
ну эта задача решаема

Защита программы

Добавлено: 08 Сентябрь 2016, 17:09
Губин Игорь
PavelNK писал(а):
ну эта задача решаема
Изобретаем велосипед...

Защита программы

Добавлено: 08 Сентябрь 2016, 17:59
kreator
Губин Игорь писал(а):Не файл вскрываем! Меняем имя файла в самой программе, а файл просто копируем. Т.е. запущенный отредактированный модуль лезет в тот же файл, но с другим именем. А сам файл мы, естественно, не трогаем.
Я что-то не догоняю. Ну, поменяли название. И что? Нужна же информация, которая в нём.

Защита программы

Добавлено: 08 Сентябрь 2016, 18:03
Губин Игорь
kreator писал(а): Ну, поменяли название. И что? Нужна же информация, которая в нём
КОПИРУЕМ файл с новым именем и запускаем ещё одну копию задачи. Т.е., если у вас 10 лицензий в файле, то получится 20 лицензий от двух задач

Защита программы

Добавлено: 08 Сентябрь 2016, 19:53
gopstop2007
Губин Игорь писал(а):Всё это самопально...
вроде написали, что надо не для хакеров :)
строка в tps (в которой зашифровано md5 или посложнее чем) с указанным количеством копий + мусор словесный мусор (или как говорят-соль) :) и проверяй на количество созданных пользователей, и проверять периодически :cat:

Защита программы

Добавлено: 08 Сентябрь 2016, 20:07
Губин Игорь
gopstop2007 писал(а): вроде написали, что надо не для хакеров
Никогда не знаешь, где встретится хакер или студент с шаловливыми ручками

Предложенный вариант разумен, но только в качестве дополнения

ИМХО

Защита программы

Добавлено: 08 Сентябрь 2016, 22:02
kreator
Губин Игорь писал(а):КОПИРУЕМ файл с новым именем и запускаем ещё одну копию задачи. Т.е., если у вас 10 лицензий в файле, то получится 20 лицензий от двух задач
Да уж, банально! Не каждый хакер догадается :mrgreen: .
Хорошо. А что нам мешает смотреть системные таблицы SQL Server'а на предмет коннектов, их ip-адресов и т.д.

Защита программы

Добавлено: 09 Сентябрь 2016, 0:05
RaFaeL
Губин Игорь писал(а): А потом находим в программе имя файла и самым обычным бинарным редактором его правим
А зачем в программе прямым текстом хранить имя файла? Может вы еще и пароль к нему так храните? )))

Защита программы

Добавлено: 09 Сентябрь 2016, 11:07
kreator
RaFaeL писал(а):А зачем в программе прямым текстом хранить имя файла? Может вы еще и пароль к нему так храните? )))
По нашему проекту. Мы сделали название, что не догадаешься, и лежит он в каталоге, тоже не догадаешься почему там. Но само имя не шифруем. Оно вычисляется на раз. Может и надо. Хотя бы совсем простенько зашифровать.
RaFaeL, а как насчёт моей идеи смотреть системные таблицы SQl. Вы же пользуете MS SQL. Мы на FireBird'е, у него с мониторингом всегда было плохо, через сторонние утилиты, плата за free. Сейчас только перешли на третья версию, посмотрим, что там есть на эту тему при случае.

Защита программы

Добавлено: 09 Сентябрь 2016, 11:15
Губин Игорь
RaFaeL писал(а):
Губин Игорь писал(а): А потом находим в программе имя файла и самым обычным бинарным редактором его правим
А зачем в программе прямым текстом хранить имя файла? Может вы еще и пароль к нему так храните? )))
Пароль можно хранить как угодно. Но дело в том, что после открытия файла он хранится в оперативке в открытом виде. И зная "где и как" вытащить его не сложно.

Защита программы

Добавлено: 09 Сентябрь 2016, 11:16
Губин Игорь
kreator писал(а): Оно вычисляется на раз. Может и надо. Хотя бы совсем простенько зашифровать
Именно так.

Защита программы

Добавлено: 09 Сентябрь 2016, 13:20
RaFaeL
kreator писал(а): RaFaeL, а как насчёт моей идеи смотреть системные таблицы SQl. Вы же пользуете MS SQL.
Смотрели на эту тему, но отказались уже не помню почему. Вообще программа работает как правило через несколько параллельных коннектов плюс само по себе количество соединений мало что даст, надо смотреть с каким типом лицензии зашли (их у нас несколько), для этого надо идентифицировать пользователя, а тут встает другой нюанс - подавляющее большинство работает с MS SQL через одного серверного пользователя, из них подавляющее большинство вообще под sa. Поэтому сделали простейшую защиту, сломать её конечно можно, а обновляться потом как, на старых версиях сидеть пожизненно? Короче, за десяток лет попыток взлома не выявлено. Попытки обхода от "от IT-специалистов среднего уровня" были, скорее они находили "дырки", которые фиксились. В целом, если клиент "сломает" и откажется от работы с разработчиком, то значит ему не нужна ТП и не нужны обновления, значит от него денег все равно не будет, так как разница, на чем он там работает в итоге. Защита нужна скорее в качестве напоминания

Защита программы

Добавлено: 09 Сентябрь 2016, 14:06
kreator
RaFaeL писал(а):подавляющее большинство работает с MS SQL через одного серверного пользователя
Вот у нас сейчас на FB такой вариант. Надо менять схему работы.
RaFaeL писал(а):. Поэтому сделали простейшую защиту, сломать её конечно можно, а обновляться потом как, на старых версиях сидеть пожизненно?
На сегодняшний день рассчитывать на то, что пользователю нужно обновление, неправильно. У нас есть клиенты, которые годами ничего не требуют. А нам жить как-то надо :) . Вариант - платить за поддержку тоже не катит (это уже оффтопик), программа работает надёжно. Нужно ориентироваться на "подписку". Но я пока понимания с этой моей идеей не нахожу.