Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Регистрация   Найти похожие ветки 

 
cyborg ©   (2004-02-03 21:05) [0]

Наконец дошло до того, что требуется сделать регистрацию игры.
Как её лучше сделать, запись в файл, в реестр, туда и туда или ещё как нибудь? Чтобы пользователю не мешало и просто так скопировать зарегистрированную игру не могли на другой компьютер. К железу и программному обеспечению, думаю, привязывать не нужно, так, как оно часто меняется. Как быть?


 
RealRascal ©   (2004-02-03 21:30) [1]

Поркякают сразу.

Надо ли чтоб игра шла без регистрации?
Если нет, то можно какую-нибудь часть ее зашифровать... Хотя это плохой способ...

Я где то видел оригинальный способ защиты от копирования основанный на Dos-именах файлов с длинным именем(оно зависит от порядка копирования), но в деталях не помню.


 
Дремучий ©   (2004-02-03 21:35) [2]


> cyborg ©

Реестр "ломается" элементарно.
Метки на диске тоже отслеживаются.
Если у кого-то и есть нормальный способ защиты, то он его держит в секрете, потому как раскажет -- то эта защита уже будет не защитой. ;PPP


 
Nous Mellon ©   (2004-02-03 21:40) [3]


> cyborg © (03.02.04 21:05)

Если вещь стоящая кракеры все равно взломают. Вопрос только во времени.
Поэтому советую сделать так: напиши сначала простенькую защиту на основе тех же записей в реестр и файл(причем реализуй к примеру отдельную процедуру проверки регистрации не только вначале работы программы но и по ходу работы), меня бы к примеру это озадачило :) Причем не используй одни и те же методы в процедурах в начале и по ходу(но это уже не такая уж и простенькая защита полумается :)). А то несложно поставить bpx на RegOpenKey и RegQueryValue и это тебе ничего не даст потому как SoftIce послушно выплывет как только наткнется на бряк. Ну написал ты к примеру перый вариант регистрации, потом смотри по сети не появился ли кряк. Как только появится меня схему защиты в след. версии.
Можешь использовать криптеры-протектеры(AS например). Новичков отпугнет.
Только платить придется. Потому как кряченые версии протектера уже имеют распаковщики. А какой толк от протектера который можно распаковать одним щелчком? :)


 
Nous Mellon ©   (2004-02-03 21:42) [4]


> Реестр "ломается" элементарно.
> Метки на диске тоже отслеживаются.

Чего уж об этом говорит если даже Майкрософтовские продукты успешно сломаны.:)


 
Makhanev A.S. ©   (2004-02-03 21:46) [5]


> cyborg © (03.02.04 21:05)

пиши ключ в реестре.
тут методик несколько...
например ключ и username.
и между ними есть зависимость.

заморочки с защитой на первом этапе выпуска коммерческой версии, как правило, преждевременны.

Лучше тратить это время на функционал и всё такое..


 
Vlad ©   (2004-02-03 22:02) [6]


> RealRascal © (03.02.04 21:30) [1]

Часом не вот это имеешь ввиду ?
http://delphibase.endimus.com/?action=viewfunc&topic=appprotect&id=10461

Помнить надо героев своего форума :-)


 
cyborg ©   (2004-02-03 22:06) [7]

Я понимаю, что если захотят, то сломают. Мне просто хочется сделать так, чтобы честный пользователь не страдал от апгрейдов компьютера, перемещения игры из одной папки в другую и прочего подобного. Но хочется сделать чтобы простым копированием зарегистрированную игру нельзя было перенести, нужно чтобы нечестный пользователь хотябы повозился, чтобы скопировать себе зарегистрированную игру.


 
cyborg ©   (2004-02-03 22:11) [8]

Впринципе вопрос стоит не в "как зашифровать ключи?", а в "куда спрятать регистрационную информацию?" наверное желательно в нескольких местах?. Может сделать часть ключа в файле, часть в реестре и третья часть в ini каком нибудь?


 
NailMan ©   (2004-02-04 09:49) [9]

Я у себя для защиты режима разработчика(когда можно с двиглом делать все что хочешь и даже большее) сделал такую весчь(если какая-то стадия не проходит, то "гуляй Вася" - DEV mode не включается):

пишется DLL-ка в которой реализуется набор функций, делающих следующее:
1) при инициалиации, программа ищет наличие файла DLL-ки у себя в каталоге,
если найдено, то идем на следующую проверку.
2) Начинается опрос DLL на наличие функции с определенным именем, если найдена, то она вызывается. Функция возвращает некую строку, которая содержит что эта DLL-ка является "ключом" для открытия Dev mode.
3) далее программа запрашивает DLL-ку на генерацию он-лайн ключа. DLL его выдает в виде integer-а и прога этот ключ сохраняет у себя.
4) далее это число используется как ключ для шифрования(самого простенького). DLL-ке посылается сгенеренная фраза, зашифрованная этим ключом. DLL-ка его принимает, расшифровывает и хранит у себя.
5) когда прога выполняет действие связанное с защищаемым режимом(установка некоторых DEV_ переменных движка) перед применением изменений происходит посылка DLL-ке зашифрованной фразы, которая расшифровавшись уже в DLL-ке сравнивается с запомненной. Если ок, то DLL выдает добро на применение изменений.

Для твоего случая, имеет смысл сохранить такую DLL-ку в мастдайной папке под каким-нить "системным" названием и юзать ее для определения "установленности" игры(ну и для чего-нить еще).


 
NailMan ©   (2004-02-04 09:54) [10]

Для того чтобы вместе с DLL-кой не перенесли, надо в реестре(где-нибудь) но не в HKLM/SOFTWARE или HKCU/SOFTWARE сделать ключик с каким-нить содержимым, который если DLL-кой обнаружится, то все гуд, игра не переносилась, ну а если нет такого контента(лучше использовать бинарное поле) в ключе или ключа нет, то нещадно материть юзверя обвиняя в попытке взлома/кражи.


 
mfender ©   (2004-02-04 09:55) [11]

Регистрация по почте с высылкой ключа. Привязать к нумеру винта. При повторной инсталяции - новая цурюмония обмена username с ключом.
Самый древний способ.


 
cyborg ©   (2004-02-04 17:08) [12]

[11] mfender © (04.02.04 09:55)
К железу привязывать нельзя! С какой стати я, например, купивший программу должен кого-то просить о ключе при апгрейде?


 
_none_ ©   (2004-02-04 17:15) [13]

to [Nous Mellon] разве ms ставили себе задачу сделать неломаемую систему?


 
cyborg ©   (2004-02-04 17:30) [14]

[9] NailMan © (04.02.04 09:49)
Чего даёт такой способ проверки ключа в отличии от такого же способа, но в самой программе?


 
NailMan ©   (2004-02-04 17:39) [15]

- Дополнительная степень защиты, т.к. имя DLL-ки при поиске(первая стадия) можно генерить в потоке кода, скрыв явно в экзеке имя(типа если константа).
- Ловить что-то в динамически подключаемой библиотеке сложнее чем в прямиком в программе.

Хотя насчет втогого могу и ошибаться.


 
Anatoly Podgoretsky ©   (2004-02-04 17:43) [16]

Да, а генератор уехал на Багамы в отпуск.


 
NailMan ©   (2004-02-04 17:47) [17]

Anatoly Podgoretsky ©
Тоесть?


 
cyborg ©   (2004-02-04 17:48) [18]

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


 
NailMan ©   (2004-02-04 17:56) [19]

Не думаю что кракеры(которые будут трассировать твою игру) вообще будут настолько углубляться в взлом твоей игрушки(не Чебура случаем хочешь защищать? :-) ).

Вообще имхо ломают игрушки не для того чтобы их можно было бы свободно переносить от компа к компу. Им проще будет дистрибутив растиражжировать.


 
Nous Mellon ©   (2004-02-04 18:01) [20]


> to [Nous Mellon] разве ms ставили себе задачу сделать неломаемую
> систему?

ИМХО они ставили задачу побольше заработать :)
И если возможность сделать несломаемую была бы то они бы уж поверь мне потрудились над энтим делом :)


 
RealRascal ©   (2004-02-04 19:55) [21]


> Vlad © (03.02.04 22:02) [6]

в яблочко...



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.038 c
14-80135
IIStan
2004-02-02 01:25
2004.02.25
Где можно купить неонувую лампу?


8-80032
Shadow of Image
2003-10-21 20:30
2004.02.25
Исследование методов соединения точек контура изобр.


4-80378
devil_dk
2003-12-20 01:13
2004.02.25
Создать рабочий стол


1-79742
Юлия
2004-02-11 07:45
2004.02.25
Как удалить файлы?


1-79801
AleksandrKu
2004-02-11 15:27
2004.02.25
Работа с Excel-ом