Если дистрибуция вашей игры ограничена и игроки не выигрывают реальные деньги / награды, вероятно, вам достаточно исходной схемы.
Использование SWF Encrypt, вероятно, несколько усложнит извлечение ключа, и это может быть хорошим инструментом для использования даже в более продвинутой системе. Но если у вас есть реальная схема с открытым / закрытым ключом (например, RSA), это действительно спорный вопрос, поскольку открытый ключ не является секретом, он не должен быть. И все же, чтобы помешать большинству людей редактировать код и вмешиваться в систему подсчета очков, SWF Encrypt, вероятно, является достаточно хорошим выбором.
Просто чтобы сделать вас немного более параноиком, я также написал следующее:
Проблема с SWF Encrypt, как и с большинством других подобных инструментов, заключается в том, что все еще должна быть возможность выполнить сценарий на (возможно скомпрометированном) компьютере. Таким образом, вся информация должна быть доступна на указанной машине. Сравните это с классическим использованием криптографии, отправкой сообщений:
Когда вы отправляете зашифрованное сообщение, вы, как правило, доверяете источнику и получателю, поэтому у обоих есть ключ для расшифровки сообщения. Вы не доверяете курьеру или, по крайней мере, не тому, что ваши враги не перехватят курьера. Таким образом, у курьера нет ключа, и ваше сообщение в безопасности.
Вместо этого ваша проблема в том, что в вашем случае вы доверяете пункту назначения (вам), а не источнику (клиенту) или наоборот. Тем не менее, вам нужен источник, чтобы иметь возможность зашифровать сообщение, поскольку вы доверяете курьеру еще меньше. Таким образом, источник должен иметь всю информацию для шифрования и дешифрования сообщений, чтобы функционировать. Ваша проблема в том, что вы не видите разницы между «хорошим» и «плохим» источником.
Я имею в виду, что, поскольку код все еще должен выполняться на клиенте, информация для этого должна быть полностью доступна, хотя, возможно, и в неясной форме. Хакер может, например, создать свой собственный компилятор ActionScript, который преобразует обфусцированный код ActionScript в нечто читабельное и вносит соответствующие изменения. Сложно, но определенно выполнимо.
Тем не менее, этот уровень сложных атак, скорее всего, не будет проблемой для вас, если у вас ограниченный дистрибутив и нет реальной награды за победу.