Nexus 5到手,把玩了一下,做個了簡單的體驗,希望對各位android的開發有所幫助。
一、 短信功能變化
- 原來的方法依然可以感知來短信廣播和數據庫變化,但對無法再通過abort或者刪除短信數據庫的方式實現短信攔截;
- 原來的邏輯中的“攔截邏輯”不生效,但並不會引起crash;
- 增加了default sms機制:
- 原有的程序需要做額外的配置纔可以升級爲default sms,參考http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html,需要注意文章提到的配置項,缼一不可;
- 非default sms不具體短信攔截和短信數據寫操作權限,私密類以及攔截類軟件的短信批量刪除及恢復短信功能,數據同步類軟件的短信恢復功能需要關注;
- 後臺發送短信
- default sms可以靜默發送短信;
- 非default sms也可以靜默發送短信,但所發送的短信都會進入短信系統數據庫;
總結:安全類應用要在4.4上實現短信攔截,需要引導用戶把自身選擇爲default sms。但需要注意,一旦用戶選擇了自身作爲default sms,那系統的“短信”應用則完全不工作,這意味着安全類應用需要承擔起真正的短信解析、發送、呈現等等功能以及單卡雙卡等適配工作。對於同步類應用,一個建議就是在短信恢復前,先引導用戶把自身設置成default sms,恢復成功後再還原(4.4有提供相關的API)。
三、 Injestso
經測試,dalvik和art下,對system_process、com.android.phone、zygote測試成功;
其中zygote進程的注入,受selinux的影響,在dlopen時,需要保證所加載的so是type爲system_file,即需要把so放到system目錄下;
四、 hook
- nativehook測試正常;
- javahook 存在兼容性問題;