2011-01-29 83 views
11

任何人都可以瞭解應用程序像應用程序保護程序,ES安全管理器(應用程序保護部分)如何工作Android:應用程序Protector應用程序如何工作?

基本上你所做的就是設置你想鎖定的所有應用程序。那麼無論何時您嘗試啓動「鎖定」應用程序,它都會在其鎖屏活動中彈出。所以你在那裏輸入密碼並訪問鎖定的應用程序。

它使用以下權限

> 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」以查看應用程序啓動是否正在發生?

回答

11

我逆向設計了應用程序,並發現它究竟在做什麼。

它只是不斷地使用濾鏡一樣

ActivityManager通過服務讀通過的logcat日誌:I *:S

讓剛剛推出的活動。也是它的一部分信息來自

來到ActivityManager.RunningTaskInfo

那麼如果「鎖定」活動啓動它顯示了鎖屏。

+2

由於API級別16從其他應用程序讀取日誌已被禁用。有誰知道App Locker如何克服這個障礙? – Matt 2013-07-19 20:11:55

1

我對過程的猜測此用途會是這樣:

  1. 應用程序使用的廣播接收器或檢測的其他方法,以確定應用程序已經啓動。
  2. 如果應用程序是應該受保護的應用程序,則保護程序應用程序會在任務頂部放置鎖定屏幕。
  3. 如果用戶輸入正確的鎖,鎖定屏幕自行完成。
  4. 如果密碼不正確,保護程序將殺死受保護的應用程序。

我認爲這就是所有應用程序保護程序的工作方式,而且我相當肯定這就是Handcent SMS等應用程序保護短信的方式。

+6

#2,3,4井是有意義的。但不是#1 afaik當活動/應用程序啓動時沒有廣播接收器被觸發。 而那正是我在之後,即要檢測何時啓動特定活動。 – 2011-01-29 19:08:28