Xpatch用來從新簽名打包Apk文件,使重打包後的Apk能加載安裝在系統裏的任意Xposed插件,從而實現免Root Hook任意App。java
Xpatch的原理是對Apk文件進行二次打包,從新簽名,並生成一個新的apk文件。 在Apk二次打包過程當中,插入加載Xposed插件的邏輯,這樣,新的Apk文件就能夠加載任意Xposed插件,從而實現免Root Hook任意App的Java代碼。github
Hook框架底層使用的是Lody的whale,支持的平臺架構有:ARM/THUMB、ARM64,支持的andrid版本大體:Android 5 ~ Android 9bash
點擊我下載最新的Xpatch Jar包
或者進入github Releases頁面下載:releases微信
Xpatch項目最終生成物是一個Jar包,此Jar使用起來很是簡單,只須要一行命令,一個接入xposed hook功能的apk就生成:網絡
$ java -jar XpatchJar包路徑 apk文件路徑
For example:
$ java -jar ../../xpatch.jar ../../wechat.apk
複製代碼
這條命令以後,在原apk文件(wechat.apk)相同的文件夾中,會生成一個名稱爲wechat-xposed-signed.apk
的新apk,這就是從新簽名以後的支持xposed插件的apk。架構
Note: 因爲簽名與原簽名不一致,所以須要先卸載掉系統上已經安裝的原apk,才能安裝這個Xpatch後的apkapp
Note:通常來講,只要app能夠被Xpatch破解,而且運行時沒有作簽名校驗,與其相關的Xposed模塊都是可用的。框架
敬請期待....工具
Xpatch實現原理文檔已發佈到我的技術公衆號Android葵花寶典上。
微信掃一掃關注公衆號便可查閱:
Xpatch是基於apk二次打包實現的,並且使用到了dex2Jar工具,所以,也存在很多的侷限性。大概有如下幾點:
歡迎Star, fork or PR.