Адаптация одного из моих предыдущих ответов:
Существует несколько способов «активировать» скопированное программное обеспечение, чтобы попытаться остановить случайное копирование приложения.
В самом простом случае регистрационный код («ключ CD») приобретается у вас, возможно, через ваш веб-сайт, и отправляется пользователю, который вводит его в программу или программу установки. Весь процесс в основном может быть сделан в автономном режиме; сама программа локально определяет, является ли код действительным или недействительным.
Это приятно и просто, но чрезвычайно уязвимо для обмена ключами - поскольку «звонка домой» нет, приложение не может знать, что тысячи разных людей используют один и тот же ключ, который они получили в Интернете или в последовательной библиотеке. или их друг. Также достаточно просто создавать «кейгены», которые генерируют кажущиеся действительными ключи, которые никогда не были выпущены разработчиками.
Тогда мы перейдем к онлайн-регистрации. У вас все еще есть какой-то код, но программа вернётся домой на сервер, чтобы определить, является ли код действительным и обычно уникальным. Это останавливает общий обмен ключами, потому что компания знает, что слишком много людей со всего мира используют один и тот же ключ. Возможно, существует также какая-то идентификация, связанная с использованием MAC-адреса, с бесконечными регистрациями, разрешенными на одном и том же оборудовании, но, возможно, ограниченным числом на том, что выглядит как другой компьютер.
Это все еще довольно легко и останавливает простой обмен ключами. Людям на самом деле придется взломать программное обеспечение или подделать ответ сервера, чтобы обойти его.
Иногда сама программа частично / в основном зашифрована и дешифруется только на этапе онлайн-регистрации. В зависимости от того, насколько хорошо это запутано, взлом может быть довольно трудным и длительным. Bioshock был ярким примером этого - дебютировал с новой схемой шифрования / защиты от копирования, которая взломалась примерно через две недели.
Наконец, особо защищенное приложение может оставаться в постоянном контакте с сервером, отказываясь работать вообще, если соединение разорвано.
Если вы точно знаете, что все ваши пользователи будут иметь надежные интернет-соединения, то это можно считать довольно надежным способом защиты приложения за счет конфиденциальности и некоторого недоверия пользователей к шпионскому ПО.
В этом случае, чтобы обойти активацию, им нужно будет подделать сам сервер. Эмуляторы Steam и частные серверы WoW являются примером этого.
И, в конце концов, нет ничего не взломанного.