Насколько безопасны сериализованные объекты в Objective-C, если у кого-то есть взломанное устройство?

У меня есть игра, состояние которой мне нужно сохранить. Я опасаюсь, что кто-то с плохими намерениями может сохранить игру, а затем отредактировать сохраненные файлы, чтобы обмануть.

Я думаю об использовании последовательного объекта для хранения данных о состоянии. Насколько безопасны серийные объекты? Кто-нибудь сможет легко отредактировать его?

Я использовал цепочку для ключей для хранения конфиденциальных данных, и это работает хорошо (хотя я не уверен на 100%, что хороший хакер не сможет взломать цепочку для ключей), было бы лучше хранить значения объектов в цепочке для ключей и затем воссоздать его, используя их вместо сериализованного объекта?

Спасибо


person x0b    schedule 19.11.2010    source источник


Ответы (3)


Пользователь взломанного устройства имеет больший контроль над устройством, чем вы. Нет безопасного места, чтобы скрыть секреты или защитить данные от изменения.

person rook    schedule 19.11.2010

Ничто из того, что происходит на клиенте, не является безопасным. Он может дизассемблировать и латать ваш код, изменять ваши сохранения, писать бота, подделывать пакеты, отправляемые на сервер,...

Просто предположим, что он может делать все, что можно сделать с исходным кодом клиента.

Единственные безопасные вещи — это те, которые происходят на сервере.

person CodesInChaos    schedule 19.11.2010

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

person FreeAsInBeer    schedule 14.10.2011