美文网首页Xposed
Xposed开发入门(1)---检查自己Xposed模块是否激活

Xposed开发入门(1)---检查自己Xposed模块是否激活

作者: 神一般的男子 | 来源:发表于2018-07-07 18:45 被阅读404次

1. 创建Xposed插件项目

使用Android studio 创建一个新项目


image.png

界面显示

image.png

2. 导入Xposed的api库

方法1:
Android Studio的依赖:

repositories {
    jcenter();
}

dependencies {
    provided 'de.robv.android.xposed:api:82'
}

方法2: 下载jar包
地址: https://bintray.com/rovo89/de.robv.android.xposed/api

3.在AndroidManifest.xml配置

创建Xposed项目后,还需要在AndroidMenafest.xml文件里面声明Xposed模块,在application里面添加三个meta-data标签(xposedmodule、xposeddescription、xposedminversion)

image.png

4.创建hook类

我们新建一个类,类名随意,然后实现IXposedHookLoadPackage接口,并且重写handleLoadPackage方法,里面就是我们要具体操作的地方,我这里创建了一个XposedInit类


image.png

5.声明类的入口

在main目录下创建assets目录,在assets目录下创建xposed_init文件,不要后缀名。这个就是模块的入口,只有一行代码,就是说明入口类


image.png

5.编写Xposed代码

public class XposedInit implements IXposedHookLoadPackage {
private String TAG="XposedInit";

@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
    if (lpparam.appInfo == null || (lpparam.appInfo.flags & (ApplicationInfo.FLAG_SYSTEM |
            ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) != 0) {
        return;
    }
    String packageName = lpparam.packageName;//应用包名
    String processName = lpparam.processName;//
    ClassLoader classLoader = lpparam.classLoader;
  /*   重写XC_MethodHook的两个方法beforeHookedMethod和afterHookedMethod,
    这两个方法会在原始的方法的之前和之后执行.
            您可以使用beforeHookedMethod 方法来打印/篡改方法调用的参数(通过param.args)
            ,甚至阻止调用原来的方法(发送自己的结果).
    afterHookedMethod 方法可以用来做基于原始方法的结果的事情.您还可以用它来操纵结果 .
            当然,你可以添加自己的代码,它将会准确地在原始方法的前或后执行.*/
    if(BuildConfig.APPLICATION_ID.equals(packageName)){
        //om.xposed_wechat.xz.MainActivity   需要Hook类名
        //showIsXposedStart   需要Hook类名下面的方法名
        XposedHelpers.findAndHookMethod("com.xposed_wechat.xz.MainActivity", classLoader,
                "showIsXposedStart", boolean.class, new XC_MethodHook() {
                    @Override
                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        //
                    }

                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        param.args[0]=true;
                        super.beforeHookedMethod(param);
                    }
                });
    }


}

6.在Xposed勾选模块开启本地服务,重启设备,打开软件就可以看到显示已经激活成功了

image.png

相关文章

  • Xposed开发入门(1)---检查自己Xposed模块是否激活

    1. 创建Xposed插件项目 使用Android studio 创建一个新项目 界面显示 2. 导入Xposed...

  • xposed模块开发前的准备

    1.确保手机已经安装了xposed模块,并且已经激活,如下图所示 2.下载xposed模块开发所需要的jar库文件...

  • Xposed 模块免重启开发(借助VirtualXposed)

    Xposed 模块开发痛点 Xposed 模块修改之后是需要重启手机生效的,导致开发非常麻烦,改个代码运行还要重启...

  • Xposed模块 检测自身是否激活

    之前写插件,有时候莫名其妙的就失效了,但是xposed installer中显示是勾选中的状态。所以就在自身的模块...

  • xposed模块入门开发

    具体的配置环境和手机环境就不再赘述了。电脑端:Android studioAndroid sdkXposedBri...

  • Android Xposed模块开发入门

    Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能...

  • Xposed模块入门

    其实之前写写过一些xposed模块。但是每次要用xposed去hook的时候还是要去网上搜索一遍怎么写。所以这次还...

  • Xposed模块入门

    资源和环境 例子APK 提取码: uba5。 Android studio主题下载,配置->xxx.jar(删掉空...

  • Xposed简介

    Xposed框架开发入门(一) - CSDN博客 动态注入技术 - CSDN博客 [Android开发] Xpos...

  • Xposed问题合集

    1、Xposed框架xx版已安装,但未激活。请检查日志的详细信息。问题场景:在使用VirtualXposed安装X...

网友评论

    本文标题:Xposed开发入门(1)---检查自己Xposed模块是否激活

    本文链接:https://www.haomeiwen.com/subject/nkgwuftx.html