@Zimaell

Возможно ли предотвратить декомпилирование приложения?

Я почитал в разных источниках про декомпиляцию приложений. На многих я встретил такие фразы как "можно", "не совсем все но можно", "иерархию получить нет но прочитать все что в скриптах можно".
Из этого вопрос: можно ли как-то сделать невозможным декомпиляю приложения и невозможным посмотреть что в скриптах написано?

Тут по большей части вопрос о том, как писать приложение (если оно онлайн). Данные-то сохраняются на сервере. Но если можно вскрыть приложение и слать "нужные" данные на сервер, то можно так читить, что мало кому понравится.

Либо само приложение сделать так чтобы его нельзя было вскрыть и подменить данные, а так же запросы шифровать. Либо вторично на самом сервере проверять полученные данные и сопоставлять возможны ли такие изменения...
Да и, тут же, по теме: как фотон к этому относится? Шифрует он чего ли и перепроверяет ли?

P.s. - конечно на данный момент не стоит вопрос о безопасности, но на будущее... может и сами скрипты нужно будет писать по-другому...
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Для приложения инструмент знаю есть, Unity Store: Obfuscator

Для сетевых команд Photon поддерживает тоже вроде как шифрование:
https://doc.photonengine.com/en-US/realtime/curren...
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
freeExec
@freeExec
Участник OpenStreetMap
Всё что запускается у клиента - может быть взломано
Ответ написан
@rPman
Единственный способ гарантированно защититься от взлома - передавать клиенту итоговую 'картинку', а с клиента пересылать его действия. Вырожденный случай - игроки подключаются к вашему серверу с чем то типа remote desktop (такая возможность достаточно давно появилась в игровых движках).

Конечно нет нужды передавать именно изображение, достаточно транслировать ограниченную информацию об объектах мира, только ту что нужна для отображения - координаты и состояние (например поза игрока), зато можно не передавать информацию об объектах, которые клиент не видит, (тогда не будет возможности видеть противника 'сквозь стены').
Недостаток - некоторая сложность разработки и чувствительность к сетевым проблемам (пользователям будет некомфортно играть на лагах).

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы