Насколько безопасна соль безопасности в приложении для iPhone? - PullRequest
1 голос
/ 19 ноября 2009

Я хочу, чтобы пользователи не вмешивались в данные, сгенерированные в моем приложении для iPhone, такие как высокие баллы. Поэтому я думаю об использовании MD5-хеша соответствующих данных и соли безопасности, жестко запрограммированной в приложении. Когда данные считываются обратно, я создаю новый хэш и сравниваю его со старым хешем. Если есть разница, я знаю, что кто-то возился с данными.

Я предполагаю, что всегда найдется способ обойти это, но поможет ли этот метод;

  • Очень сложно.
  • Хитро обойтись.
  • Ничего не меняет.

1 Ответ

2 голосов
/ 19 ноября 2009

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

К сожалению, это классическая проблема DRM, которая не имеет решения против достаточно мотивированного злоумышленника. Лучше всего создать как можно больше барьеров, чтобы это не стоило чьего-то времени.

Возможно, представленный высокий балл также может включать некоторые сведения о состоянии игры, которые позволят вам проверить несоответствия, которые могут выдать пользователя. Например, если вы видите, что пользователь набрал 1 000 000 очков, но только достиг уровня 2, то вы знаете, что что-то не так!

Быстрый выигрыш, который по крайней мере победит пользователя, запускающего strings против вашего бинарного файла, состоит в том, чтобы убедиться, что строка соли не выглядит очевидной; не используйте "солевой соли"!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...