編寫乙個無法解除安裝的App 裝置管理器漏洞

2021-07-05 08:05:27 字數 1402 閱讀 5622

嘗鮮

繼承 deviceadminreceiver 重寫 ondisablerequested(context context, intent intent) 即可達到目的。

@override

public charsequence ondisablerequested(context context, intent intent)

再戰

也就是不給 intent-filter 標籤設定該 action。

android:name=".mydevicereceiver"

android:description="@string/receiver_description"

android:permission="android.permission.bind_device_admin">

android:resource="@xml/device_manager_policies" />

4.4 & 5.0測試失敗,裝置管理器無法啟用(**啟用不會彈出,裝置管理器又找不到)。

三戰

已啟用裝置管理器許可權的手機木馬利用該漏洞,可以在設定程式的裝置管理器列表中隱藏,這樣使用者就無法通過正常途徑取消該手機木馬的裝置管理器許可權,從而達到無法解除安裝的目的。android4.2版本以上系統已經修復該漏洞。……

ondisablerequested函式滿足以下條件即可:

1、返回內容不能為空,這樣才可以使裝置管理器彈出取消啟用裝置管理器警示資訊 dialog。

2、通過activity切換的方式使裝置管理器彈出的警示資訊dialog消失。使使用者無法操作dialog。

如果做到以上兩點,程式即可成功阻止使用者取消啟用裝置管理器操作。

public charsequence ondisablerequested(context context, intent intent) catch (interruptedexception e) }

}}).start();

return ""; }

安裝後開啟直接跳轉啟用介面:

一旦啟用則無法正常解除安裝

進入裝置管理器介面

強制進入鎖屏

而文章開頭提到的流氓軟體,實則是跳轉到乙個所有按鈕無效的自定義全屏介面(不是我這樣跳到設定介面),使用數字軟體無法解決問題。

總結日後看到裝置管理器啟用申請定要小心三分,本文提及內容請勿不正當使用。

原始碼gist

測試apk,安裝後啟用則無法解除安裝。

恢復apk,覆蓋安裝後可順利取消啟用。

用PHP編寫乙個APP的API

標籤 空格分隔 php 手機後台 api 通訊介面 andy php是世界上最強大的語言。php開發手機api時,一般返回xml或json資料型別的資料,除了要返回從源資料 程式本身需要的資料 外還應附上狀態碼,以下是一段封裝後的資料,它使用json格式展現 以下是xml格式資料的例項 200suc...

用PHP編寫乙個APP的API

標籤 空格分隔 php 手機後台 api 通訊介面 andy php是世界上最強大的語言。php開發手機api時,一般返回xml或json資料型別的資料,除了要返回從源資料 程式本身需要的資料 外還應附上狀態碼,以下是一段封裝後的資料,它使用json格式展現 以下是xml格式資料的例項 200suc...

html編寫乙個手機app的的訂單頁面

我的訂單 特斯拉交易成功 特斯拉新能源汽車五座座小型轎車五座汽車五座小型轎車五座汽車 應付賬款 330.090 實際付款 330.000 刪除訂單 置換新車 立即評價 特斯拉交易成功 特斯拉新能源汽車五座座小型轎車五座汽車五座小型轎車五座汽車 應付賬款 330.090 實際付款 330.000 刪除...