Intereting Posts
Отправить AT-команды на Android-телефон Назначьте ширину до половины ширины доступного экрана декларативно Отображение пользовательского вида в swiped RecyclerView item Получить толкаемый идентификатор для определенного значения в firebase android Ошибка открытия меню настроек мобильной сети Ошибка OpenCV / Android BufferQueue: текстура поверхности была оставлена SpeechRecognizer на Android Wear Задавать высоту изображения как программную Закрытие активности после нажатия кнопки «Не удалось найти класс« android.support.v4.app.FragmentActivity »« Ошибка Объединение двух png-файлов в android Android KeyStore: не удалось создать самозаверяющий сертификат, неверная строка даты Документация по Android Studio для быстрой загрузки всегда «выборка документации» Почему Android запускает синхронизацию учетной записи Google каждый раз, когда я добавляю / удалю учетную запись пользовательского типа? Android: java.lang.IllegalArgumentException: Неизвестный цвет

Как защитить активы, хранящиеся в Android APK

Я считаю, что этот вопрос уже задан, но я не удовлетворен их ответами и публикую его снова здесь.

Может кто-нибудь, пожалуйста, скажите мне, как защитить мои приложения Android от копий кошек, которые хотят построить подобное приложение?

Solutions Collecting From Web of "Как защитить активы, хранящиеся в Android APK"

Как всегда есть компромисс между удобством и безопасностью. Чем безопаснее вы хотите, ваше приложение будет менее удобным, тем лучше для вас.

Исходный код по своей сути небезопасен из-за простоты декомпиляции, особенно с использованием корневого телефона. Чтобы защитить исходный код, вы можете запутать и / или зашифровать свой код, который предотвратит декомпиляцию. Не совсем точно, какие инструменты доступны для Android, но я уверен, что это усложнит процесс сборки. Если вы просто запутываете, декомпиляция может быть еще возможна, но будет намного сложнее и, скорее всего, потребует, чтобы человек попытался декомпилировать ваш код, чтобы знать и понимать Bytecode, если используется сильный уровень обфускации.

Чтобы защитить ваши активы, я считаю, что ваш единственный вариант – использовать шифрование. Опять же это усложнит процесс приложения и / или сборки в зависимости от того, где вы реализуете.

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

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

В целом, вам нужно точно определить, кого вы беспокоитесь о краже своих активов. Если вас беспокоит средний Джо, копирующий их, тогда вы должны быть в порядке. Если вас беспокоит профессиональный хакер, сценарий kiddie и т. Д., Доступ к ним, то вам, вероятно, не повезло.

Может кто-нибудь, пожалуйста, скажите мне, как защитить мои приложения Android от копий кошек, которые хотят построить подобное приложение?

Как правило, вы не можете. Если это приложение, любой, кто хочет, может добраться до них.

Вы можете использовать собственную схему шифрования или использовать такие инструменты, как DexGuard . Однако, поскольку механизм и ключ дешифрования должны быть в самом приложении, все это – увеличение уровня усилий, необходимых для получения ваших активов. Сделать это сложнее, уменьшит вероятность того, что кто-то захватит активы из вашего APK, но это не помешает этой возможности. И, конечно же, есть другие способы получить большую часть этого материала (например, скриншоты и графические редакторы, записывая звук, воспроизводимый приложением).

Вы можете защитить содержимое папок с ресурсами, зашифровав его с помощью сильных алгоритмов шифрования и расшифруйте их во время выполнения. Copycats не может легко расшифровать и получить содержимое папки с данными, просто извлеките apk с помощью zip-инструментов.