Программирование - вопрос/ответ



         

Программирование - часть 9


;здесь, кстати, по pекомендации от MS должно быть как можно меньше пеpеменных
;т.к. этот сегмент находится всегда в памяти, что бы в своп не лезть,
;хотя для клавы ИМХО все pавно ShftState db 0
CtrlState db 0
AltState db 0
Prev_KbdProc dw 0
VxD_LOCKED_DATA_ENDS
END === Cut === User.Def:
=== Cut === LIBRARY Keylock DESCRIPTION 'user95' EXETYPE DEV386 SEGMENTS _LTEXT PRELOAD NONDISCARDABLE _LDATA PRELOAD NONDISCARDABLE _ITEXT CLASS
'ICODE' DISCARDABLE _IDATA CLASS
'ICODE' DISCARDABLE _TEXT CLASS
'PCODE' NONDISCARDABLE _DATA CLASS
'PCODE' NONDISCARDABLE EXPORTS Keylock_DDB @1

Make.bat:

=== Cut ===
ml -coff -DBLD_COFF -DIS_32 -W2 -c -Cx -Zm -DMASM6 user.asm
LINK /VXD /NOD /MAP /ignore:4078 user.obj /DEF:user.def
=== Cut ===

Из конференции Expert_FAQ

Дополнить этот ответ | Задать свой вопрос

Вопрос

Может кто-нибудь поделится соображениями о защите программ от нелегального копирования в VB?

Ответ

Вообще, защитить программу от нелегального копирования нельзя, в принципе. Если утюг какой-то фирмы сложно скопировать хотя бы потому, что надо знать его устройство, то с компьютером проще — F5 в любой оболочке… И не надо никаких исходников, ничего, кроме самой программы…

Можно вставить несколько палок в колеса тем, кто нелегально собирается нажимать на F5.

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

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

Т.е. юзер регистрируется и заносится в базу данных на сервере. И еще: надо привязывать копию программы к конкретной машине… именно машине, а не установленному Windows и т.п.

Как это осуществить? Можно много способов придумать, чем машины различаются (главное, чтоб условие было всегда истинно на зарегистрированной машине). Тут можно взять размер винчестера, как самое элементарное (но не больно надежное), можно к номеру BIOSа (только как его получить?), вроде как в Pentium тоже хотели номера вшивать… так, что можно к процессору привязать…



Содержание  Назад  Вперед