Предполагая, что у меня есть клиентское приложение Android, которое вызывает веб-службы для получения некоторых данных из базы данных с удаленного сервера, что означает, что в какой-то части моего кода я буду использовать URL-адрес бэкэнда для вызова API-интерфейсов, которые мне нужны, теперь, вероятно, теперь есть компиляторы Android, которые получают исходный код файла APK, что означает, что URL-адрес, который я использую для вызова API, может быть подвергнут кому-то, который декомпилирует мое приложение , что является основной проблемой, которую я хочу избежать, даже если я обеспечил свой удаленный сервер аутентификацией, будь то базовый или дайджест или что-то еще, я все же не хочу, чтобы мой URL-адрес API был подвергнут кому-то из первого место, как я могу избежать этого, есть ли какой-то алгоритм, который мог бы декодировать мой URL внутри моего кода, поэтому, когда мой APK будет скомпилирован, что адреса этих API, которые я вызываю, не будут отображаться?Android-Как защитить мой исходный код
ответ
Невозможно предотвратить получение злоумышленником URL-адреса. У вас должен быть какой-то apikey или пароль, уникальный для каждого пользователя, чтобы предотвратить несанкционированный доступ к вашему api.
Поскольку злоумышленник имеет apk, а так как приложение должно знать, какой URL-адрес использовать, в apk должна быть какая-то логика, которую злоумышленник может использовать для получения URL-адреса, нотематировать, как причудливая схема URL- обфускации вы придумываете.
Ваш код может быть запрограммирован в обратном порядке практически в каждом случае, даже если вы используете Androids built-in obfuscator. Вы можете сделать его более сложным для злоумышленника. Так что включение apikey или пароля тоже не работает - потому что эту сверхсекретную информацию также нужно где-то хранить.
Но большая проблема: Мониторинг сетевого трафика не покажет местоположение
URL
сервера в любом случае, независимо от того, что вы делаете.
Таким образом, единственным решением является разработка вашего сервера таким образом, чтобы он мог обрабатывать запросы «зла». Вокруг нет никакого способа, иначе ваш сервер может быть взломан! Итак ...
- Вы не хотите, чтобы кто-нибудь знал ваш сервер? невозможно
- Вы хотите ограничить запросы пользователя? Практически невозможно. Если это будет легко, атаки «Отказ в обслуживании» будут ушли в прошлое. Ограничение количества запросов на IP-адрес - это начало, но не безупречное, поскольку мобильные телефоны часто меняют свой адрес.
почему пустые голоса? – PhilLab
был не мной ... :) – user2469133
, но вы можете ошибаться в том, что «Мониторинг сетевого трафика покажет URL-адрес в любом случае», если соединение было зашифровано с помощью SSL, например, снифферы пакетов не должны показывать запросы url – user2469133
- 1. Как защитить исходный код?
- 2. Golang: защитить исходный код
- 3. Как защитить исходный код приложения
- 4. как защитить исходный код партии?
- 5. Как защитить исходный код Python?
- 6. Как защитить мой код
- 7. Как защитить исходный код хром-упакованного приложения?
- 8. Защитить исходный код веб-сайта ASP.NET
- 9. Как защитить исходный код при его развертывании?
- 10. Минимированный JavaScript - единственный способ защитить исходный код?
- 11. Как защитить исходный код веб-приложений PHP
- 12. Как я могу защитить свой исходный код
- 13. Как защитить исходный код в электронном проекте
- 14. Собственный клиент Google - как защитить исходный код?
- 15. Защитить исходный код от угона iOS
- 16. Защитить исходный код при доставке клиенту
- 17. PHP показывает мой исходный код?
- 18. Мой исходный код BlueJ удален
- 19. Как защитить исходный код php, размещенный в SD-карте?
- 20. Защитить исходный код на время разговора в tfs
- 21. Как защитить исходный код при развертывании на разных компьютерах
- 22. Скрыть/защитить код Python
- 23. Защитите исходный код Android
- 24. Java не компилирует мой исходный код
- 25. Инструменты Утечки - Не показывать мой исходный код
- 26. Какой язык будет защищать мой исходный код?
- 27. Как отправить мой клиент Исходный код приложения?
- 28. Защитите мой исходный код от конечного пользователя
- 29. Spell Проверьте мой исходный код Delphi
- 30. Почему мой исходный код не работает?
Вы можете использовать наивные механизмы, которые скремблируют/дешифруют строку, поэтому на первый взгляд они не будут выглядеть как URL, а toc, которые легко могут быть перепроектированы любым, кто хочет узнать URL. –