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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
muskin
Активист
Сообщения: 114
Зарегистрирован: 08 Декабрь 2009, 21:16
Откуда: РК

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

Сообщение muskin »

Всем Привет. Clarion 6.3(ABC)

Еще раз поднимаю вопрос защиты программы.
Насколько я понял, секретить файлы в Dictionary - это бесполезное занятие (открываем exe-шник в блокноте - и при желании видим все пароли на засекреченные tps-файлы)?
Вопрос от начинающего - "Как привязать мою программу к компу, как можно узнать уникальный номер процессора или BIOS-a или за какую железяку цепляться, чтобы меня не надули?"
Прочитал все темы по поиску - но реального ответа не нашел.

Заранее благодарен за ответ.
Всем пралитарское Спасибо и 'Желаю, чтобы ВСЕ !!!'
George
Активист
Сообщения: 110
Зарегистрирован: 04 Август 2009, 10:48
Благодарил (а): 1 раз

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

Сообщение George »

Я делаю так:
1) Пароль беру из переменной;
2) Упаковываю exe-шник.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

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

Сообщение Губин Игорь »

Самое простое: ASProtect.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

1. Действительно пароль можно "спрятать" в переменную или сделать плохочитаемым - как описано в справке.
Только это шифрование данных и никакого отношения к защите от нелегального копирования не имеет.

2. Привязка к процессору или BIOS - вещь достаточно нестабильная, т.к. придется отслеживать и проверять
программу на всех новых процессорах и материнских платах. Получить эти данные можно через WinAPI.
Но наверно это реально, только если ты делаешь главную программу Газпрома ... ;)

3. Самый простой способ "привязать" программу к производной от серийного номера загрузочного HDD.
Мы много лет пользовались этим способом в старых программах.
Пример функции получения производной от серийного номера HDD.

GetPCNumber PROCEDURE ! Declare Procedure

RootPathName CSTRING(4)
VolumeNameBuf CSTRING(20)
VolumeNameSize ULONG(20)
VolumeSerialNumber ULONG
MaxCompLeng ULONG
FileSysFlags ULONG
FileSysNameBuf CSTRING(20)
FileSysNameSize ULONG(20)

CODE

RootPathName = 'C:\'
If GetVolumeInformation(RootPathName,VolumeNamebuf,VolumeNameSize,VolumeSerialNumber,MaxCompLeng,FileSysFlags,FileSysNameBuf,FileSysNameSize).
If VolumeSerialNumber > 2147483647
Return(Abs(Abs(VolumeSerialNumber - 4294967295) - 137))
else
Return(Abs(VolumeSerialNumber-137))
end

дальше пользователь сообщает Вам номер - Вы ему ответный код регистрации.
При запуске программы проверяете соответсвие номера компьютера и ответного кода. Вот и все.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

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

Сообщение Губин Игорь »

Нескромный вопрос: а если системный диск это НЕ диск С: ? Если диска C: вообще нет в системе?
Тогда уж надо привязываться к системному...

См. в хелпе "How to Get Active Folder Information"

Это не придирка, это констатация встречающихся случаев. Сам несколько лет работал на таком компе
Это я только кажусь дураком! На самом деле я полный идиот!
AlesDales
Активист
Сообщения: 198
Зарегистрирован: 14 Июль 2005, 15:42

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

Сообщение AlesDales »

Губин Игорь писал(а):Самое простое: ASProtect.
До версии 2.12 Aspack распаковывается автоматически программой:

“AspackDie 1.3d
--------------
This is a small unpacker for PE files (EXE, DLL, ...) which got compressed by
Aspack 2.11/2.11c/2.11d/2.12.
Have a look at the source code for more information.”

и

“OllyDbg-ский скрипт "Aspr2.XX Unpacker” распакует все остальное.
в стране слепых правит одноглазый король (c) ...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

Все правильно. Это не универсальное решение и не подойдет, например для загружаемых по сети рабочих станций.
Также будут проблемы с "клонированными" HDD (у них одинаковый серийный номер) и т.д.
Также проблемным моментом является изменении номера HDD при форматировании (что делается при переустановке Windows) или смене типа файловой системы.
Именно поэтому мы уже давно отказались от такого способа - но как учебная задача, вполне подойдет ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
AlesDales
Активист
Сообщения: 198
Зарегистрирован: 14 Июль 2005, 15:42

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

Сообщение AlesDales »

Игорь Столяров писал(а): При запуске программы проверяете соответсвие номера компьютера и ответного кода. Вот и все.
И действительно “все” если тело программы не зашифровать.
в стране слепых правит одноглазый король (c) ...
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

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

Сообщение kreator »

ИМХО привязка к жесткому диску - самая правильная. Игорь Столяров все расписал. А более универсальное решение - наверно, USB ключ. Но он обходится всякими эмуляторами.
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

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

Сообщение Губин Игорь »

Вот к чему и посоветовал AsProtect. Достаточно дешёвая и достаточно проверенная вещь. В комплекте с некоторыми дополнительными фишками вполне надёжна.
Это я только кажусь дураком! На самом деле я полный идиот!
AlesDales
Активист
Сообщения: 198
Зарегистрирован: 14 Июль 2005, 15:42

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

Сообщение AlesDales »

Губин Игорь писал(а):Вот к чему и посоветовал AsProtect. Достаточно дешёвая и достаточно проверенная вещь. В комплекте с некоторыми дополнительными фишками вполне надёжна.
http://qunpack.ahteam.org/?p=160
или
http://reversing.kulichki.com/files/unpack/unpack.htm
в стране слепых правит одноглазый король (c) ...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

Я позволю себе кратко выразить свое мнение об AsProtect и аналогичный EXE шифровальщиков, т.к. имею опыт их использования.
1. Рано или поздно, но стабильно, возникает проблема с тем или иным антивирусом (например после косячного обновления баз), который грохнет EXE файл как зараженный вирусом. И это правильно - принцип работы тот же самый, что и в примитивных вирусных программах.
2. Это дополнительная операция при подготовке программы к публикации.
3. Наверно главный вопрос - что защищается и стоит ли экскаватором копать детскую песочницу ...
4. Пусть и примитивная, но своя система защиты - она более управляема. Сейчас в моде ситемы ограничения работы по времени (подписка), а не привязки программы к оборудованию.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

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

Сообщение Губин Игорь »

Почему-то когда я представляю AlesDales, то мне видится Рико из Пингвинов Мадагаскара с автогеном в руке возле заднего прохода Морта. :wink:

Кстати, а полиморфные секции они легко ломают?

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

По поводу ограничения работы по времени: это тоже должно быть очень правильно сделано, иначе любой идиот напишет примитивный батник для перевода часов перед запуском программы. И лучше сочетать это с иными средствами защиты.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

Губин Игорь писал(а):иначе любой идиот напишет примитивный батник для перевода часов перед запуском программы.
Немного по другому. Только идиот напишет программу, которая будет проверять ограничение защиты по часам компьютера.
За теми кто отстал - не возвращаться. (С) Кодекс
AlesDales
Активист
Сообщения: 198
Зарегистрирован: 14 Июль 2005, 15:42

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

Сообщение AlesDales »

Почему-то когда я представляю AlesDales, то мне видится Рико из Пингвинов Мадагаскара с автогеном в руке возле заднего прохода Морта. :wink:
Судя по аватарке можно предположить, как ты видишься самому себе. :)
Кстати, а полиморфные секции они легко ломают?
Полимофность защищает только от антивируса и от дампа. Если скрипт для отладчика позволяет программу отлаживать тогда полиморфность пофиг. Страшна только виртуализация или псевдокоды как например у Visual Basic.
По поводу ограничения работы по времени: это тоже должно быть очень правильно сделано, иначе любой идиот напишет примитивный батник для перевода часов перед запуском программы. И лучше сочетать это с иными средствами защиты.
Счетчик обычно хранят в реестре или в трудно доступных местах плоть до boot-сектора.
в стране слепых правит одноглазый король (c) ...
Ответить