Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Защита программы от запуска на других компьютерах [D6, XP]


иван8511 ©   (2008-04-08 02:19:00) 

Подскажите, можно ли хоть как-нибудь защитить написанную программу от пиратского копирования и запуска на другом компьютере. Может можно как-нибудь привязать программу непосредственно к определенному компьютеру. Не обязательно что-то уж очень сложное.  Хоть какая не большая защита.
Спасибо.


Dennis I. Komarov   (2008-04-15 12:27:00) [1]

Во "Флуд" ее :)

Сперва надо написать, то что требуется защищать :)


francuz_diletant   (2008-04-15 10:53:00) [2]

Можно привязать к моменту первого создания файлов программы на диске (дата, время) При копировании они обычно изменяются... Тогда даже нельзя будет из первоначальной папки вырвать...


brother   (2008-04-09 10:53:00) [3]


> Подскажите, можно ли хоть как-нибудь защитить написанную
> программу от пиратского копирования и запуска на другом
> компьютере. Может можно как-нибудь привязать программу непосредственно
> к определенному компьютеру. Не обязательно что-то уж очень
> сложное.  Хоть какая не большая защита.Спасибо.

подкинешь на пиво - исходники компонента реализующего защиту на serial number вышлю...)


brother   (2008-04-09 10:50:00) [4]

согласен с [4] и [5]

> Например, юзер говорит мне (с точностью до байта) полный
> объем диска С, который он прочитает в свойствах компьютера
> (напр. 20 963 163 584байт). А я уже откомпилирую программу
> именно с такой небольшой проверкой при запуске.

это не актуально тк опять же, это защита только от неопытного пользователя а от хакера? пара noop и все) гы
защитит более серьезно только железка, которая - "железный ключ", и то не факт что злобные хакеры и это не взломают...

ВЫВОД:
Если цена ключа сгенеренного вариантами [4] и [5] в пределах до 50$ ИМХО не заморачиваемся и делаем софт ключ привязывающийся к железу...

зы Просто сам недавно этой проблеммой заморачивался и пришел именно к этому выводу ИМХО


Stepper   (2008-04-08 19:35:00) [5]

ИМХО! Рекомендую - Obsidium!
http://www.obsidium.de


Thrasher   (2008-04-08 17:45:00) [6]

Ай! Ну что я могу сказать знающему человеку! :)


Rouse_   (2008-04-08 17:16:00) [7]


> Армадилло рулит из-за своих технологий CopyMem II, Eliminate
> IAT и Nanomitoies

Да, но опять-же, они целиком изучены :)


> ExeCryptor - конечно мощная утилита, но до VMProtect - далековато

Не согласен :)
У обоих VM не разобрана, поэтому пока-что нельзя утверждать кто лучше :)
К тому-же у VMProtect отсутствует навесная часть защиты (не готов утверждать это про платный вариант утилиты) :) Так что по сравнению с бесплатным вариантом ExeCryptor безусловно выигрывает.

По поводу стриппера - да, что-то подобное есть, но упаси бог разбираться в том коде, который вышел из под стриппера :) Его плюсы, что он сворачивает антиотладку, но дальше тихий ужас... Впрочем, если занимаешься реверсингом, понимаешь сей момент :)

ЗЫ: посмотрим что за VbsEdit такой, заинтриговал :)


Thrasher   (2008-04-08 17:02:00) [8]

MSDN. В  Delphi есть файл помощи даже


иван8511   (2008-04-08 16:59:00) [9]

А где подробнее почитать про функцию GetVolumeInfo ?


Thrasher   (2008-04-08 16:52:00) [10]

2 иван8511 >>

Все можно. Есть функция GetVolumeInfo, так там и объем диска узнать можно и метку тома и номер тома.

2 Rouse_  >>
Армадилло рулит из-за своих технологий CopyMem II, Eliminate IAT и Nanomitoies. А вот StarForce имхо не совсем - слишком уж попытка привязаться к диску идет в ущерб пользователю. (несовместимость со SCSI уже о чем-то говорит). ExeCryptor - конечно мощная утилита, но до VMProtect - далековато. Да и излишний метаморфизм не приносит стабильности программам. Кстати уже есть стрипперы и для ExeCryptor.
Хотя я согласен с Вами, что если нет опыта в постановке защит, то и ХАСП не поможет. Я вот недавно программу одну разбирал VbsEdit. Ничем не пакованная, но защита на твердую 5. Но все равно - сломана. Из за уважения к авторам кряк в паблик не выкладывал и не положу.


Rouse_   (2008-04-08 16:41:00) [11]

Если нет опыта в постановке защит, то и хасп врятли поможет :)
Из навесняков сейчас (из нормальных) это решения от StarForce (FrontLine ProActive) и Strongbit (ExeCryptor).
Чуть похуже Армадилло (у R.Narvaja есть цикл статей по полному ее разбору)


иван8511   (2008-04-08 16:36:00) [12]

Спасибо за ответы.
А можно использовать вариант с привязкой к объему жесткого диска? Например, юзер говорит мне (с точностью до байта) полный объем диска С, который он прочитает в свойствах компьютера (напр. 20 963 163 584байт). А я уже откомпилирую программу именно с такой небольшой проверкой при запуске. Только вот как программно определить полный объем диска С ???


Thrasher   (2008-04-08 15:46:00) [13]

OriEN - аффтар жжот! Разобран. И снимается. На паблике конечно нет утилит, но в привате есть. Снимал руками сам (конечно если не все опции выставлены, но если юзер пустит за свой комп, то и это не поможет). HASP решит все однозначно. Если нужно програмно, то помогу. Советы бесплатно :) .


Семеныч   (2008-04-08 14:57:00) [14]

> oldman ©   (08.04.08 14:54) [6]

> Ты ему добросовестно сообщаешь новый пароль.
> Юзер щаслив!!!

Я бы тоже был щастлив, если бы имел дело с такими лопухами.


oldman   (2008-04-08 14:54:00) [15]


> Семеныч   (08.04.08 14:35) [4]


Гадкий легальный юзер прет программу на другой комп, а тебе говорит, что его комп сломался и он его заменил.
Ты ему добросовестно сообщаешь новый пароль.
Юзер щаслив!!!


Семеныч   (2008-04-08 14:38:00) [16]

> иван8511

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


Семеныч   (2008-04-08 14:35:00) [17]

> Amoeba ©   (08.04.08 14:08) [3]

> Привязка к конкретному компьютеру делается инсталлятором при
> установке программы.

Или самой програмой при ее первом запуске.

> Дистрибутив хранишь у себя и никому не даешь.

Не обязательно. Можно, например, так (см. ниже).

> иван8511

1. При первом запуске программа видит, что она еще не зарегистрирована. Тогда она считывает данные компа (серийник винта, BIOSа - что угодно, это уже отдельный вопрос), преобразует эту инфу в строку символов, выдает ее юзеру и просит ввести ответ. Без ответа (или при неправильном ответе) не работает (или работает в демо-режиме).

2. Юзер звонит (пишет) тебе и сообщает эту строку.

3. Если юзер нелегальный - посылаешь его. Если легальный, то заносишь юзера в свою БД и запускаешь тобою же написанную генерилку. Вводишь в эту генерилку строку, которую сообщил тебе юзер и генерилка по какому-то алгоритму преобразует эту строку в строку ответа. Ее сообщаешь юзеру.

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

5. При следующих запусках програма видит, что она уже зарегистрирована и больше ничего не спрашивает.


Amoeba   (2008-04-08 14:08:00) [18]

Привязка к конкретному компьютеру делается инсталлятором при установке программы. Дистрибутив хранишь у себя и никому не даешь. Защитит от простого копирования неискушенным пользователем.


oldman   (2008-04-08 08:49:00) [19]

От копирования защиты нет.
От запуска на другом компьютере... Пароль на входе спасет отца русской демократии?


Loginov Dmitry   (2008-04-08 07:45:00) [20]

Используй ключи защиты (HASP/Alladin).
Либо воспользуйся программкой ORiEN.


Наверх

Титульная страница Поиск, карта сайта Написать письмо