Как уже упоминалось, нижняя строка - это все, что вы можете вставить, злодей может сорваться, поэтому все, что вы можете сделать, это сделать объем работы, необходимый для того, чтобы сделать это препятствием для любого, кто даже пытался. То, что было предложено до сих пор, по крайней мере, удержит случайного вора, и, возможно, этого достаточно.
Способ, который я нашел, заключался в том, чтобы на самом деле иметь довольно тесную интеграцию с данными на стороне сервера, так что даже если вы удалите всю эту интеграцию (которая, скорее всего, займет у вас несколько дней ... это большое приложение), вы все равно не было бы никаких данных, чтобы использовать его. Очевидно, что это во многом зависит от того, что ваше приложение делает в первую очередь, но если вы примете архитектурное решение перенести какие-либо данные на сторону сервера, это повысит вашу защиту.
(Это действительно должен быть комментарий, а не ответ, но публикация здесь должна быть продолжительной.)