【Android 插件化】静态分析应用 APK 安装包是否使用了插件化引擎 ( 虚拟化引擎运行特点 | 恶意软件特点 )
文章目錄
- 一、插件引擎運行特點
- 二、惡意軟件特點
一、插件引擎運行特點
宿主應用 中 , 首先在 AndroidManifest.xml 中 , 定義了若干占坑的 “樁” 組件 , 這些組件的作用是為了欺騙 ActivityManagerService 準備的 , 如果給 AMS 傳入沒有在清單文件中注冊過得組件 , 直接就報錯了 ;
啟動 插件應用 時 , 創建 Intent 時 , 創建的是 “樁” 組件 , 將插件應用組件信息封裝到 Intent 的 Extra 信息中 ;
然后將相關數據傳遞通過 Binder 機制 , 傳遞給 AMS , 在 AMS 進程中 , 會驗證要啟動的組件是否在 AndroidManifest.xml 清單文件中注冊過 , 此時必須使用 “樁” 組件 , 否則無法啟動相應組件 ;
在 AMS 進程處理完相應操作后 , 又回到 ActivityThread 主線程中 , 此時丟棄之前使用的 “樁” 組件 , 使用 Intent 中的 插件應用 中的組件 , “樁” 組件完成了欺騙 AMS 的職責 , 之后開始創建 插件應用中的組件實例 , 然后啟動插件中的組件 ;
所有的插件化引擎 , 都有上述特征 , 即 “樁” 組件 Intent 中包含 插件組件信息 , AMS 處理完畢后 , 又從該 Intent 中取出信息創建插件組件 ;
反編譯 Dex 文件 , 然后通過分析 Smali 代碼 , 分析是否存在上述一系列的操作 , 注意按照特定順序執行的一系列操作 ;
如果發現上述特征 , 就說明該應用中使用了插件化引擎 ;
有個問題 , 如果應用加固了 , 加了個殼 , 或者應用的 Dex 文件進行了加密 , 就無法使用上述靜態檢測了 ;
二、惡意軟件特點
使用了插件化引擎的 惡意應用 , 一般會有 隱藏加載 的特征 ;
惡意應用 會 極力避免 惡意插件 , 或者惡意應用 的安裝執行 , 被發現 , 一般都是不經過用戶同意的靜默操作 ; 如 將插件 加密 ( 解密后運行 ) , 或者 從網絡中下載 插件 ( 下載后運行 ) ;
總結
以上是生活随笔為你收集整理的【Android 插件化】静态分析应用 APK 安装包是否使用了插件化引擎 ( 虚拟化引擎运行特点 | 恶意软件特点 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 插件化】多开原理 |
- 下一篇: 【Android 插件化】使用插件化引擎