Скрытая SD-карта, доступная только для чтения

#java #android #swing #io #filesystems

#java #Android #качать #io #файловые системы

Вопрос:

В настоящее время я работаю над одним проектом. Я не очень уверен, где я должен опубликовать ниже qus в SO. Можете ли вы помочь мне выполнить следующие требования:

  • Запись файлов на SD-карту. — (Готово)
  • Пользователи не должны записывать содержимое на SD-карту. — Понятия не имею, что делать
  • Только приложение может записывать содержимое [Необязательно] — Понятия не имею, что делать [Возможно, это невозможно, если вышеуказанный шаг выполнен успешно]

Я пишу программу, используя Java Swings, потому что она может быть кроссплатформенной. Если у вас есть какие-либо предложения, дайте мне знать.

Отредактировано:

  • Только приложение может записывать содержимое [Необязательно] — Понятия не имею, что делать [Возможно, это невозможно, если вышеуказанный шаг выполнен успешно]

Я шифрую данные перед записью на SD-карту. Как предотвратить удаление файлов или изменение файлов с SD-карты.

Ответ №1:

Обычный способ сделать SD-карту доступной только для чтения — сдвинуть переключатель защиты от записи в положение включено. Однако это оставляет вас с проблемой: ваше приложение также не сможет модифицировать карту.

Я не думаю, что возможно сделать SD-карту защищенной от записи (только для чтения) только в прикладном программном обеспечении. Особенно, если карта может быть подключена к «корневому» устройству или обычному ПК. Но то, что вы могли бы затруднить кому-либо обновление ваших данных, используя комбинацию запутывания и шифрования для защиты данных.


Похоже, что существуют некоторые программные средства, которые утверждают, что защищают SD-карты от записи. Похоже, что эти инструменты на самом деле просто настраивают списки управления доступом для корневого каталога SD-карты. (В этом есть очевидный недостаток в качестве механизма безопасности. Пользователь может тривиально отменить это, используя диалоговое окно Свойств диска; см. https://datarecovery.wondershare.com/flashdrive-recovery/read-only-flash-drive.html, например.)

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

Комментарии:

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

2. Тогда у них больше нет файлов. Они могли бы отправить SD-карту обратно вам для восстановления … или переформатировать ее для использования, если для чего-то другого. Чем это концептуально отличается от уничтожения DVD наждачной бумагой? Пользователь вмешался в ваш продукт и сломал его. Не ваша проблема….

3. Но я обнаружил, что некоторые программы делают то же самое, тогда как они это делают? Направьте меня.

Ответ №2:

Я не уверен, что это сработает, но, если возможно, попробуйте: щелкните правой кнопкой мыши на букве диска в Windows и перейдите в Свойства.

Выберите «Безопасность«, затем в разделе «Пользователь» или «Группа» выберите «Все«, а затем «Редактировать«. Теперь на вкладке «Разрешения» установите для нее значение «Читать» и снимите флажок «Другие».

Источник: https://datarecovery.wondershare.com/flashdrive-recovery/read-only-flash-drive.html

Комментарии:

1. Я пытаюсь использовать tryLock () и другой процесс, я обновлю свой ответ.