Серийные номера в играх, логика их работы

Тема в разделе "WASM.ZEN", создана пользователем HeadHunter, 5 авг 2009.

  1. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    Начну издалека!

    Возьмём для примера всем известную игру StarCraft, для того что бы установить игру нужен серийник. Если есть диск с игрой, нет проблем, если нет диска, можно прибегнуть к помощи генератора ключей, но... поиграть то мы сможем в сингл, но войти в BattleNet нет. То есть существует две проверки, одна локальная-простая, другая на стороне сервера. Но эта проверка очевидно отличается от локальной, и я очень сомневаюсь что на сервере имеется база всех ключей, которые когда либо печатались на CD, скорей всего всё дело в хитром алгоритме.

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

    P.S.
    Сейчас разбираю одну довольно популярную игру, делаю это из интереса и для понимания работы (авось пригодится для своих проектов). Выпускать программу в свободное плавание не собираюсь, пусть разрабы и дальше радуют нас своими играми и не испытывают недостатка в средствах.
     
  2. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    А почему и нет? Ключи, которые печатаются на CD, откуда берутся? Их наверно издатель/автор предоставляет, верно?
     
  3. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    HeadHunter
    В чём причина таких сомнений? Даже если было отпечатано 10 миллионов копий, база данных по ключам будет иметь достаточно смехотворные размеры. Встраивают же в некоторые софтины списки забаненых ключей на десятки и сотни позиций.
     
  4. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    Ну... я думаю это накладно хранить базу ключей и при каждом коннекте искать по всей базе, особенно если учитывать что пользователей тысячи, это может сильно нагружать сервер. Гораздо "проще" на мой взгляд было бы по какому-нибудь обратному алгоритму преобразовывать ключ до некоторого определённого числа (мастер ключ). Если после этой процедуры получившееся число совпадает с "мастер ключом", значит серийник верный. Хотя конечно это тоже вычисления, и нагрузка, но я думал\ю что это так.

    Предоставлять то предоставляет, но в каком виде? В виде текстового файла, или в виде алгоритма?

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

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Поиск по базе уникального ключа в отсортированном множестве, это смехотворная задача для многопроцессорного серва.
     
  6. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    То есть никаких мастер ключей, все уверены что это обычная база?

    2. Тогда второй вопрос - зачем делать локальную проверку ключа, если он всё равно повторно проверяется на сервере? Не лучше ли вообще исключить из клиента эту функцию?
     
  7. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    А если ты локально играть будешь? Не все же по сетке режутся.
     
  8. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    Локально игра не проверяет серийник, он нужен только для сети.
     
  9. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    База на сервере 100% остальное бред. А локально (допустим при установки) проверять надо хотя бы для предотвращения ошибок ввода при подключении с левым ключом ip баниться
     
  10. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А как же NAT?
     
  11. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Booster
    а им пофиг :dntknw:
     
  12. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    HeadHunter
    Для некоторых игрушек существуют сервера, отличные от официального.
     
  13. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    CyberManiac
    это вообще к чему? там как раз не проверяется сдкей, а в некоторых (например Bnet) вообще долженн быть XXXX-XXX-...
     
  14. HeadHunter

    HeadHunter New Member

    Публикаций:
    0
    Регистрация:
    5 авг 2009
    Сообщения:
    30
    CyberManiac
    Ммм.. да, наверное в этом есть смысл... скорей всего это действительно для локальных игроков сделано.