Xposed使用筆記

0.前期準(zhǔn)備

Xposed是一個(gè)已經(jīng)被玩得很熟的套路了,這里不敢說有什么特別的見解,本質(zhì)就是反射。
反射的學(xué)習(xí)
http://www.itdecent.cn/p/9f392c46e670

如果是第一次接觸Xposed,那么你需要一個(gè)裝上Xposed框架的機(jī)器。安裝過程不表,我是直接刷了一個(gè)自帶Xposed框架的第三方Rom。
那么安裝請參考
http://www.itdecent.cn/p/655a07b687ec

如果不想刷機(jī)的,VirtualXposed了解一下
http://xposed.appkg.com/2799.html

掃盲,想吃快餐的
請參考
https://www.52pojie.cn/thread-677215-1-1.html

1.導(dǎo)入jar

請注意不要用compile!不要用compile!不要用compile!

https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API
否則報(bào)異常

推薦用gradle方式引入
https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API

如果要本地包的話,放的位置是lib而不是libs


新建lib文件夾

2.注冊到清單

<meta-data
    android:name="xposedmodule"
    android:value="true"/>     <!--表示是xpose模塊,因此xpose框架能識別它-->
<meta-data
    android:name="xposeddescription"
    android:value="module test"/>  <!--對模塊功能的描述信息-->
<meta-data
    android:name="xposedminversion"
    android:value="54"/><!--jar包的最低版本,包是54,你這里寫30也沒問題的-->

3.新建類,實(shí)現(xiàn)框架接口和方法

此處就貼api吧,
http://api.xposed.info/reference/packages.html
網(wǎng)上太多例子了
see
1.Xposed________給微信加個(gè)按鈕

2.Xposed________給微信加上控件之骰子作弊

3.Xposed________給微信步數(shù)加上翅膀

4.初探Xposed在android上的應(yīng)用

5.Android中Xposed框架篇—利用Xposed框架實(shí)現(xiàn)攔截系統(tǒng)方法

4.注冊指明實(shí)現(xiàn)框架的類

新建asset文件夾,新建一個(gè)無后綴的文件,文件名 xposed_init,并將該類的全包名寫進(jìn)去。

5.打包

因?yàn)閷?shí)際上這些是作為一個(gè)模塊,有點(diǎn)像插件化的意思,
什么打包不會?Build-Generate Signed Apk

6.重啟

Xposed框架監(jiān)聽了使用該接口的模塊,安裝上模塊,就可以在模塊列表里找到它。 adb reboot即可。

難點(diǎn)有幾個(gè):安裝Xposed框架[允悲],因?yàn)檫@個(gè)就是個(gè)門檻,裝上 才能玩。現(xiàn)在有virtualXposed了
再然后是分析需被hook的app,只有分析出需要被hook的點(diǎn),這個(gè)框架才能發(fā)揮出最大的威力,這就引出了另一個(gè)話題,反編譯拿到明文代碼,無論混淆還是加固,你搞不到點(diǎn)子上,hook個(gè)啥?

最后才是寫hook代碼。

Xposed注入實(shí)現(xiàn)分析及免重啟定制

附上我的反Xposed學(xué)習(xí)筆記
http://www.itdecent.cn/p/ee0062468251

一定要看的??!
Xposed API文檔

稍晚附上給伸手黨的hook微信步數(shù)的模塊代碼
https://github.com/lamster2018/XposedExample

新增PreferenceFragment設(shè)置倍率
剛好踩了這個(gè)坑
http://www.itdecent.cn/p/c0e9a1baaa05

sp的坑

而更巧的是
MODE_WORLD_READABLE因?yàn)榘踩珕栴}在N之后棄用,否則報(bào)

java.lang.SecurityException: MODE_WORLD_READABLE no longer supported
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容