问题 Android:应用程序Protector应用程序如何工作?


任何人都可以了解App Protector,ES Security Manager(应用程序保护器部分)等应用程序的工作原理

基本上你所做的就是设置你想锁定的所有应用程序。然后每当你尝试启动“锁定”应用程序时,它就会弹出其锁屏活动。所以你在那里输入密码并访问锁定的应用程序。

它使用以下权限

> 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”以查看应用程序启动是否正在发生?


3353
2018-01-29 18:13


起源



答案:


我对应用程序进行了逆向工程,并发现它到底在做什么。

它只是通过logcat通过服务使用像这样的过滤器连续读取日志

ActivityManager:I *:S

获得刚刚开展的活动。其中一部分信息来自

ActivityManager.RunningTaskInfo

然后,如果启动“锁定”活动,则显示锁定屏幕。


11
2018-01-30 05:54



由于API级别16从其他应用程序读取日志已被禁用。有谁知道App Lockers如何克服这个障碍? - Matt
@Anuj Tenani可以告诉我你是如何做的我已经开始服务但是我的logcat并没有指出我将要发布的当前应用程序 - Erum


答案:


我对应用程序进行了逆向工程,并发现它到底在做什么。

它只是通过logcat通过服务使用像这样的过滤器连续读取日志

ActivityManager:I *:S

获得刚刚开展的活动。其中一部分信息来自

ActivityManager.RunningTaskInfo

然后,如果启动“锁定”活动,则显示锁定屏幕。


11
2018-01-30 05:54



由于API级别16从其他应用程序读取日志已被禁用。有谁知道App Lockers如何克服这个障碍? - Matt
@Anuj Tenani可以告诉我你是如何做的我已经开始服务但是我的logcat并没有指出我将要发布的当前应用程序 - Erum


我对这个过程的猜测是这样的:

  1. 该应用程序使用广播接收器或其他一些检测方法来确定应用程序何时启动。
  2. 如果应用程序是应该受保护的应用程序,则保护程序应用程序会在任务之上放置一个锁定屏幕。
  3. 如果用户输入正确的锁,则锁定屏幕自动完成。
  4. 如果密码不正确,保护程序将终止受保护的应用程序。

我认为这就是所有应用程序保护程序的工作方式,而且我很确定这就是像Handcent SMS这样的应用程序保护文本消息的方式。


1
2018-01-29 18:19



#2,3,4井是有道理的。但不是#1 afaik在活动/应用程序启动时没有广播接收器被触发。这正是我所追求的,即检测特定活动何时启动。 - Anuj Tenani