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

到这里基本上结束了。



posted @ 2019-09-30 10:50  公众号python学习开发  阅读(2036)  评论(0编辑  收藏  举报