【Android 插件化】VAHunt 检测插件化引擎的具体细节
文章目錄
- 一、VAHunt 檢測插件引擎具體細節
一、VAHunt 檢測插件引擎具體細節
上圖的執行順序是 ⑤ -> ④ -> ③ -> ② -> ① ;
存在 222 個 Intent 對象 , StubIntent 是 “樁” 組件對應的 Intent 對象 , TargetIntent 是插件包中的 Intent 對象 ;
StubIntent 對應的組件需要欺騙 AMS , 因此該組件一定在 AndroidManifest.xml 中注冊過 ;
如果找到了上述模式 , 可以反向查找找到對應的在 AndroidManifest.xml 清單文件中注冊過的 “樁” 組件 ;
在 ① 中啟動了 Activity 組件 ;
在 ② 中發現啟動的組件 StubIntent 類型 來自內部封裝的 TargetIntent 中 , 調用 setType / setClassName ( setComponent ) 設置啟動的組件是插件組件 ;
一旦發現了上述模式 , 就直接根據執行路徑 , 反向找到 ⑤ 中在 AndroidManifest.xml 中注冊的組件信息 ;
插件組件可以以不同的方式存儲 , 字符串 , 對象 , 特殊標識 等 ; 可以使用 setData , setDataAndType , putExtra 和 putExtras 等 API 設置插件組件信息 ;
查找 " 樁 " 組件 : 追蹤 Intent 的 setComponent 或 setClassName 方法 , 這是最常用的為 Intent 設置組件的方法 , 如果參數不是直接的字符串和對象 , 而是調用的方法的返回值 , 那么分析該方法的調用鏈 , 一直找到最終設置的組件類型 ;
匹配 " 樁 " 組件 : 獲取到 " 樁 " 組件 , 與 AndroidManifest.xml 清單文件中的組件進行對比 , 如果查到了相應的組件 , 則可以直接判定該應用是插件化應用 ;
總結
以上是生活随笔為你收集整理的【Android 插件化】VAHunt 检测插件化引擎的具体细节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 插件化】VAHunt
- 下一篇: 【Android 插件化】基于插件化引擎