В принципе, если информация видна обычному пользователю приложения, она должна быть видна всем, кто атакует .apk, а .apk может получить любой с теми же привилегиями, что и обычный пользователь. Так что, если ваше приложение предназначено для широкой публики и доступно в магазине Google, оно доступно для чтения всем. Обфускация, шифрование локальным ключом и т.д... все это замедлит атакующего (или даже защитит от слабого злоумышленника), но в принципе, если достаточно опытный злоумышленник приложит достаточно усилий для атаки, он сломает все, что вы там поместите.
Обфускация просто предотвращает доступ злоумышленников низкого уровня.
(ответ) Тем не менее, вы загружаете свои файлы ресурсов в Java самостоятельно?
Затем вы можете зашифровать их с помощью некоторого ключа, который будет жестко закодирован + обфусцирован внутри кода .java, поэтому только люди, способные разобрать файлы .dex и понять ваш ключ, смогут расшифровать ваши активы (или есть другой способ, взяв под контроль через виртуальную машину, на которой запущен ваш .apk, подождите, пока ваше приложение загрузит и расшифрует актив, и атакуйте их, сбросив его с виртуальной машины в расшифрованном виде, иногда это может быть проще, если код дешифрования действительно сложный и трудный для понимания).
Для любого приличного шифрования используйте стороннюю библиотеку (не стесняйтесь смешивать ее со своим собственным решением, но не ожидайте, что самостоятельно создадите какую-то надежную схему шифрования, для создания чего-либо достаточно надежного потребуются некоторые усилия), на самом деле java и Android по умолчанию имеет несколько поставщиков «безопасности» с реализованными общими надежными схемами шифрования.
Но если вы не хотите, чтобы какая-то информация просочилась, то никогда не загружайте эту информацию на устройство пользователя и не показывайте ее пользователю.
Например - вот почему усилия киноиндустрии по защите фильмов такие забавные.. они хотят и того и другого, что в принципе невозможно, и идут на многое, чтобы усложнить задачу, а значит, человечество потратило довольно много денег и усилий на производство такие вещи, как сквозное зашифрованное воспроизведение HDMI, и даже кабель стоит целое состояние, поскольку для этого не может быть простого кабеля проводов.
person
Ped7g
schedule
27.10.2016