Может ли хакер просто скопировать общие настройки с одного устройства на другое, чтобы захватить сеанс/состояние пользователя?

Я разработчик приложений для Android. Я пытаюсь решить проблему безопасности в одном из моих приложений.

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

Я попытался скопировать файл общих настроек с одного устройства на другое (где я установил новую копию приложения с пустым файлом общих настроек). Скопировал файл с исходного устройства с помощью adb , скопировал его на SD-карту целевого устройства и переместил в правильный общий каталог prefs с помощью приложения для управления файлами с привилегиями root. Это не сработало.

Когда я запускаю приложение на целевом устройстве, я вижу, что файл prefs измельчения «откатывается» к своей первоначальной форме. Возможно, в Android есть какой-то механизм для предотвращения манипулирования файлами/данными приложения.

Итак, мой вопрос: как я могу проверить этот сценарий другими способами? любой способ перенести префы акций с одного устройства на другое?

Спасибо!

определить хакера, xD
Хакер — злой технический человек, который хочет украсть сеанс или состояние пользователя из приложения, получив доступ к его устройству, получив его файл настроек и скопировав его на другое устройство.
Внутри файла prefs есть больше данных, и, поскольку он не подходит для вашего устройства (например, другой серийный номер), он удаляет весь файл. У этого может быть много причин: несовместимость, конфигурация, даже безопасность. Возможно, сервер даже отказался принять сеанс и уже сделал его недействительным. Все зависит от приложения и разработчика.
В данном случае - я разработчик, ответственный за это приложение. Я просмотрел код и убедился, что он не сбрасывает файл prefs. Я работаю с серверной командой, поэтому точно знаю, что не сервер вызывает сброс файла. Я отключил устройство от сети, и приложение ведет себя точно так же. Данные внутри файла prefs зашифрованы, и их будет трудно расшифровать, но сценарий, который я изучаю, — это не потеря информации, а «дублирование» приложения путем копирования на другое устройство. Спасибо за ваш комментарий.

Ответы (1)

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

Каждое приложение содержит кеш для восстановления собственных данных. Если вы запустите свое приложение > создадите общие настройки > сверните/закроете приложение > и удалите эти общие настройки. Когда вы открываете/возобновляете работу приложения, система восстанавливает данные сеанса из кеша. Иногда это зависит от размера и содержимого общих префов.

Если вы беспокоитесь о том, чтобы «взломать» ваше приложение, вы можете защитить сохраненные данные с помощью какого-либо метода шифрования. например, base64 + соль, хэш + соль или любой другой метод, который вы хотите. Обратимый или нет.

Или просто вы можете хранить свои постоянные данные в пользовательском пути / файле и защищать, как вы можете, с помощью вышеуказанных методов.