前段時候微信封禁了一大批使用 xposed 的微信賬號,對一些運營微信的企業(yè)造成的巨大損失。下面我們聊聊 xposed 的檢測機制。
市面上 xposed 的檢測手段一般包含如下幾種方法
- XposedInstaller 檢測;
- Java 層檢測是否安裝 xposed 組件;
- 堆棧信息檢測 xposed 相關(guān)信息;
- 檢測關(guān)鍵方法是否是 native 方法;(只能檢測出是否 hook, 但是不能檢測 hook 手段)
- 直接調(diào)用 /system/framework/XpsedBridge.jar 內(nèi)部的方法來驗證;
- 查看 /system/bin/ 、/system/lib/、/system/lib64/、內(nèi)部是否存在 xposed 相關(guān)文件;
- 查看 app 內(nèi)部加載庫列表是否存在不正常的 so 庫;(驗證文件 /proc/self/maps 內(nèi)容);
- 檢測關(guān)鍵方法的特征碼;
- 其他未知的方法
針對以上的檢測方法,可以針對性的隱藏掉 xposed 的關(guān)鍵特征:
- 替換 XposedInstall 包名;
- 隱藏 XposedBridge.jar(替換包名和自身名字);
- 隱藏包含 xposed 名字特征的文件;
- 隱藏掉 lib_xposed_art.so 、lib_xposed_dalvik.so 等 xposed 特征;
- 隱藏掉 xposed.prop 文件
有興趣可以加 wx 聊 : hunter-688