Как определить, работает ли приложение с помощью инструментов автоматического тестирования? - PullRequest
0 голосов
/ 19 февраля 2020

Иногда хакеры могут использовать инструменты автоматизации, такие как Robotium、Espresso、UiAutomator2、Appium, для автоматического управления приложениями моих клиентов, которые будут интегрировать наш SDK для получения прибыли.

Так как определить, работает ли текущее приложение с такими инструментами автоматического тестирования (кроме проверки службы и процесса) без редактирования самого приложения ? Благодаря ~

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Что ж, самый простой способ - это строгая конфигурация Proguard при создании релизной сборки.

Если вы предполагаете, что кто-то создаст скрипт, использующий Appium + Espresso / UiAutmator для связи с вашим приложением, убедитесь, что вы не соблюдайте следующие правила proguard :

-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }

-dontwarn androidx.**.
-keep class androidx.** { *; }
-keep interface androidx.** { *; }

-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }

-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }

В этом случае ваше приложение просто не подойдет для автоматизации тестирования.

Кроме того, если у вас есть свои собственные тесты, убедитесь, что нет возможности запустить их для выпуска APK. В основном без вреда, но я видел это однажды :)

0 голосов
/ 19 февраля 2020

Лучший способ сделать это - удалить все идентификаторы, текстовые описания и другие помощники из приложения. Даже если есть идентификаторы, есть несколько сборок с разными идентификаторами или динамическими c идентификаторами. Другие методы:

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

...