Xposed插件的使用(一)進行簡單的Hook

一立美、Xposed簡介

Xposed癣籽,簡單點說就是一款Hook框架脖苏,可以在不修改APK源碼的情況下程拭,通過自己編寫的模塊來影響程序運行的框架服務(wù),采用了插件機制棍潘,通過替換/system/bin/app_process程序控制zygote進程恃鞋,使得app_process在啟動過程中會加載XposedBridge.jar這個jar包崖媚,從而完成對Zygote進程及其創(chuàng)建的Dalvik虛擬機的劫持⌒衾耍基于Xposed框架可以制作出許多功能強大的模塊畅哑,且在功能不沖突的情況下同時運作。

強制安利--Xposed源碼解析系列安卓注入框架Xposed分析與簡單應(yīng)用

二水由、Xposed使用前準備工作

1)獲得root權(quán)限的手機
2)安裝Xposed Installer

安裝時注意事項:
1敢课、Xposed針對Android系統(tǒng)發(fā)布了不同的版本,要根據(jù)自己手機的版本下載對應(yīng)的Xposed框架绷杜,附Xposed Installer下載地址
2直秆、手機出現(xiàn)不兼容問題,那么檢查下是不是版本下錯了
3鞭盟、下載安裝框架后圾结,提示not a flashable zip file 或者unzip:crc error(也就是解壓錯誤),這個時候你可以點擊菜單欄齿诉,選擇show outdated versions(也就是顯示歷史版本),下載舊的版本嘗試筝野,如果還不行就直接下載對應(yīng)的zip文件,進入recovery也就是刷機模式粤剧,硬刷到系統(tǒng)中

點擊安裝更新歇竟,下載安裝框架



安裝成功后,是這個樣子的



安裝后會重啟手機抵恋,重啟后Xposed就生效了焕议。我用的Android5.0之上的系統(tǒng),對于4.x版本的弧关,需要下載對應(yīng)的版本就可以了
OK盅安,然后接可以寫模塊了

三、Xposed簡單使用

1世囊、創(chuàng)建Android項目

一個Xposed模塊實際上就是一個正常的apk,只不過沒有和用戶交互的界面别瞭,它僅僅包含以下meta數(shù)據(jù)和文件,并且安裝后沒有桌面應(yīng)用圖標株憾,所以創(chuàng)建一個空項目就可以了蝙寨,不需要Activity。

2嗤瞎、Android中使用Xposed

Android中使用Xposed方法墙歪,官方文檔

Android Studio中使用:

大家都知道,以前需要再eclipse導(dǎo)入jar包猫胁,而在Android Studio中只需要在app/build.gradle文件中添加依賴就可以使用了



當然也可以在AS中導(dǎo)入jar包箱亿,放在lib文件夾下,右鍵add as library...就可以了弃秆。

Eclipse中使用:因為我已經(jīng)不用elipse了届惋,所以這里就給出jar包的下載地址髓帽。點我下載Xposed需要的jar包

導(dǎo)入依賴成功后,就可以開始寫模塊了脑豹,首先要在AndroidManifest.xml中配置

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.happy.xposedt">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!-- 應(yīng)用為模塊 -->
        <meta-data
            android:name="xposedmodule"
            android:value="true" />

        <!-- 版本信息 -->
        <meta-data
            android:name="xposedminversion"
            android:value="82" />

        <!-- 模塊描述 -->
        <meta-data
            android:name="xposeddescription"
            android:value="Xposed Test" />
    </application>

</manifest>

聲明程序入口郑藏,新建assets文件夾--->新建文件xposed_init,在該文件中瘩欺,進行如下配置必盖,包名+類名,類是實現(xiàn)了XposdMod接口子接口的類

com.test.happy.xposedt.Main

在模塊中創(chuàng)建類Main,(類名和xposed_init文件中配置的保持一致即可俱饿,可以隨意取名)歌粥。具體實現(xiàn)XposdMod接口的哪個子接口取決于,你想做的操作拍埠。

接口IXposedHookLoadPackage(一個新的app被加載時)
接口IXposedHookZygoteInit (安卓系統(tǒng)啟動時)
接口IXposedHookInitPackageResources (資源被初始化時)

這里就簡單的hook下微信的啟動頁失驶,打印下日志看看效果

public class Main implements IXposedHookLoadPackage {
     @Override
    public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam loadPackageParam)
            throws Throwable {

        if (!loadPackageParam.packageName.contains("com.tencent.mm")) {
            return;
        }
        XposedHelpers.findAndHookMethod("com.tencent.mm.ui.LauncherUI", loadPackageParam.classLoader,
                "bUn", new XC_MethodHook() {

                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        super.beforeHookedMethod(param);
                        Log.e("Xposed", "開始hook>>>>啟動的應(yīng)用包名" + loadPackageParam.packageName);

                    }

                    @Override
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        XposedBridge.log("成功hook>>>>啟動的應(yīng)用包名" + loadPackageParam.packageName);

                        Log.e("Xposed", "成功hook>>>>啟動的應(yīng)用包名" + loadPackageParam.packageName);
                    }
                });


    }
}

XposedBridge.log()是把寫入標準的logat中(data/data/de.robv.android.xposed.installer/log/debug.log)
至此,Xposed基本的使用就結(jié)束了
運行結(jié)果:
在模塊中選中自己寫的模塊枣购,重啟手機嬉探,連接AS,可看到日志的輸出:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棉圈,一起剝皮案震驚了整個濱河市涩堤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌分瘾,老刑警劉巖胎围,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芹敌,居然都是意外死亡痊远,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門氏捞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冒版,你說我怎么就攤上這事液茎。” “怎么了辞嗡?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵捆等,是天一觀的道長。 經(jīng)常有香客問我续室,道長栋烤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任挺狰,我火速辦了婚禮明郭,結(jié)果婚禮上买窟,老公的妹妹穿的比我還像新娘。我一直安慰自己薯定,他們只是感情好始绍,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著话侄,像睡著了一般亏推。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上年堆,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天吞杭,我揣著相機與錄音,去河邊找鬼变丧。 笑死芽狗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的锄贷。 我是一名探鬼主播译蒂,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谊却!你這毒婦竟也來了柔昼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤炎辨,失蹤者是張志新(化名)和其女友劉穎捕透,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碴萧,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡乙嘀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了破喻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虎谢。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖曹质,靈堂內(nèi)的尸體忽然破棺而出婴噩,到底是詐尸還是另有隱情,我是刑警寧澤羽德,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布几莽,位于F島的核電站,受9級特大地震影響宅静,放射性物質(zhì)發(fā)生泄漏章蚣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一姨夹、第九天 我趴在偏房一處隱蔽的房頂上張望纤垂。 院中可真熱鬧矾策,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至榄鉴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛉抓,已是汗流浹背庆尘。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留巷送,地道東北人驶忌。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像笑跛,于是被迫代替她去往敵國和親付魔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,127評論 25 707
  • xposed installer3.0版本之后飞蹂,傳統(tǒng)的xposed框架的使用方法是從官網(wǎng)上下載xposed ins...
    sakuradream閱讀 17,791評論 15 29
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理几苍,服務(wù)發(fā)現(xiàn),斷路器陈哑,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 生氣時妻坝,深呼吸,告訴自己不要生氣對身體不好惊窖。
    平行線_2bec閱讀 59評論 0 0
  • 直到那個時候界酒,我才懂得圣拄,原來生命真的這么脆弱。 我也不是一開始就熱愛生活的毁欣,我不能像那些發(fā)自內(nèi)心熱愛學習的別人家的...
    _Mr_F閱讀 331評論 5 2