Android: как работает приложение Protector?

Может кто-нибудь пролить свет на то, как работают приложения, такие как App Protector, ES Security Manager (часть защитника приложения).

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

Он использует следующие разрешения

> android.permission.RECEIVE_BOOT_COMPLETED
> android.permission.GET_TASKS
> android.permission.INTERNET
> android.permission.READ_LOGS
> android.permission.VIBRATE
> android.permission.READ_PHONE_STATE
> android.permission.SYSTEM_ALERT_WINDOW

Итак, как работает такая система. он продолжает читать журналы "READ_LOGS", чтобы узнать, происходит ли запуск приложения?

Ответ 1

Я переделал приложение и нашел, что именно он делает.

Он просто непрерывно читает журналы через logcat через службу, используя фильтры, такие как

ActivityManager: я *: S

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

ActivityManager.RunningTaskInfo

то, если запущена "заблокированная" активность, отображается экран блокировки.

Ответ 2

Мое предположение для этого процесса будет следующим:

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

Я думаю, что так работают все защитники приложений, и я уверен, что именно такие приложения, как Handcent SMS, защищают текстовые сообщения.