mac使用xposed超詳細入門級教程Android Studio-20190930


工具

這里我使用的工具是Android Studio3.4.1,電腦環境mac os mojave 10.14.6(這個應該問題不大)

創建項目

1、打開Android Studio,看到這個界面,並點擊紅框中的內容創建一個項目。
准備創建一個新的項目
2、創建一個空的項目選擇"Empty Activity"
創建一個空的項目
3、創建一個Java項目XposedHook

4、gradle的配置
Android視圖模式下,選擇build.gradle(Moudle:app)打開,在dependencies內部添加下面,這句

    //compileOnly 'de.robv.android.xposed:api:82' 如果安卓版本太低比如4.4可能會出錯
    compileOnly 'de.robv.android.xposed:api:53' 

版本號53適合安卓4.4的,用82可能報錯。
最后點擊右上角的Sync Now,具體過程看下圖。

5、在main下面創建Hook.java文件

package com.example.xposedhook;

import android.util.Log;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class Hook implements IXposedHookLoadPackage {

    @Override
    public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lppararm) throws Throwable {
        Log.d("cxa", "hook");
        if (!lppararm.packageName.equals("com.xxx.xxxx")) return;  //填入要hook,app的packagename
        Log.d("cxa", "hookend");

    }
}

6、修改AndroidMainfest.xml文件
在application節點了添加下面內容最終內容看下面圖。

        <meta-data
                android:name="xposedmodule"
                android:value="true" />
        <meta-data
                android:name="xposeddescription"
                android:value="Hook log test" />
        <meta-data
                android:name="xposedminversion"
                android:value="53" />

7、main文件夾下創建assets目錄

創建
xposed_init文件輸入下面內容

com.example.xposedhook.Hook


7、編譯app

8、編譯成功

9、點擊locate可以打開生成之后的app文件

網上看了很多教程都是使用jar包的,這里我要說明一點,我們采取的gradle配置方式是和它並行的,所以不需要jar了。

xposed軟件使用

1、官網下載
注意版本的選擇
地址

https://repo.xposed.info/module/de.robv.android.xposed.installer


2、一系列的操作


選擇安裝更新

選擇永久記住

點擊確定等待重啟

3、把上面生成好的app文件也app-debug.apk也拖進模擬器進行安裝。

然后打開Xposed選擇模塊,如果能看到我們的模塊,就勾選就可以了向下面這樣。(如果沒有模塊,就返回然后點擊框架再點擊軟重啟就有了)。

Android Studio操作安卓模擬器

1、連接安卓模擬器

💃🐍 CXAPython🌈/Users/chenxiangan> adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001
💃🐍 CXAPython🌈/Users/chenxiangan> adb devices   
List of devices attached
127.0.0.1:62001	device

2、打開logcat並配置


3、打開需要hook的app即可得到結果。
這里我hook的是ES文件瀏覽器,
代碼部分

        if (!lppararm.packageName.equals("com.estrongs.android.pop")) return;  //填入要hook,app的packagename,這個是Es文件瀏覽器的

logcat的結果,這個logcat就是代碼Log.d希望輸出的內容。

09-30 11:54:11.453 7978-7978/? D/cxa: hook
09-30 11:54:12.533 7996-7996/? D/cxa: hook
09-30 11:54:45.963 8061-8061/com.estrongs.android.pop D/cxa: hook
09-30 11:54:45.963 8061-8061/com.estrongs.android.pop D/cxa: hookend
09-30 11:54:46.633 8146-8146/? D/cxa: hook
09-30 11:54:46.633 8146-8146/? D/cxa: hookend

到這里基本上結束了。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM