Bang! Bang! You have been hacked. - несколько простых, но достаточно спорных советов по защите своего приложения от воровства (мои комментарии жирным):
1. Всегда используй ProGuard. Инструмент ProGuard входит в состав Android Studio и позволяет сократить размер кода и одновременно запутать его с помощью замены имен классов, методов и переменных на бессмысленных одно-двухбуквенные комбинации. Этот инструмент может отпугнуть только совсем неопытного взломщика, зато ты потратишь уйму времени на его настройку.
2. Замени JSON бинарным протоколом, например, ProtoBuf (реализация для Android). Так взломщику будет труднее разобраться в трафике, генерируемом приложением. Обратная сторона медали: отлаживать код, работающий с JSON намного проще. К тому же автор забыл добавить, что начиная с Android N ты можешь использовать SSL Pinning чтобы усложнить выполнение атаки MiTM.
3. Используй различные методы для проверки приложения на целостность (было ли приложение изменено): сверка контрольной суммы установленного APK с заведомо правильной контрольной суммой, сохраненной на сервере; механизм Google App Licensing, позволяющий подтвердить, что приложение было установлено из Google Play; вынос чатей приложения expansion-файлы. Имей ввиду, что взломщик может вырезать все эти механизмы защиты из приложения; это не так трудно сделать.
1. Всегда используй ProGuard. Инструмент ProGuard входит в состав Android Studio и позволяет сократить размер кода и одновременно запутать его с помощью замены имен классов, методов и переменных на бессмысленных одно-двухбуквенные комбинации. Этот инструмент может отпугнуть только совсем неопытного взломщика, зато ты потратишь уйму времени на его настройку.
2. Замени JSON бинарным протоколом, например, ProtoBuf (реализация для Android). Так взломщику будет труднее разобраться в трафике, генерируемом приложением. Обратная сторона медали: отлаживать код, работающий с JSON намного проще. К тому же автор забыл добавить, что начиная с Android N ты можешь использовать SSL Pinning чтобы усложнить выполнение атаки MiTM.
3. Используй различные методы для проверки приложения на целостность (было ли приложение изменено): сверка контрольной суммы установленного APK с заведомо правильной контрольной суммой, сохраненной на сервере; механизм Google App Licensing, позволяющий подтвердить, что приложение было установлено из Google Play; вынос чатей приложения expansion-файлы. Имей ввиду, что взломщик может вырезать все эти механизмы защиты из приложения; это не так трудно сделать.