Xposed插件编写

这篇具有很好参考价值的文章主要介绍了Xposed插件编写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

所需要环境 :
jdk sdk xposed激活安装
xposed激活安装 :https://blog.csdn.net/weixin_38927522/article/details/119832717

1.Android Studio 项目AndroidManifest.xml添加xml标识:

        <!-- 添加标识 -->
        <meta-data
            android:name="xposedmodule"
            android:value="true"/>

        <!-- 载入Hook模块之后显示的信息 value可修改-->
        <meta-data
            android:name="xposeddescription"
            android:value="Xposed Proxy For HOOK"/>

        <!-- 规定jar包的版本信息 -->
        <meta-data
            android:name="xposedminversion"
            android:value="54"/>

2. 引入jar包并添加依赖:

编写xposed插件,2021,android

两个jar包,Bridge是实现,api-82是调用,调用无法查看源代码实现逻辑,故而会小一些,这两个用哪个都可以。

build.gradle下dependencies中引入:

compileOnly files('lib/api-82.jar')

全build.gradle文件如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29

    defaultConfig {
        applicationId "com.sun.xposed"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compileOnly files('lib/api-82.jar')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

}

3.创建hook类:

package com.sun.xposed;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

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

        // 判断当前启动的目标程序是否是要hook的应用程序
        if(loadPackageParam.packageName.equals("cn.com.cvsource")){
            XposedBridge.log("编写Xposed插件模板,开启HOOK之路!");
            XposedHelpers.findAndHookMethod("cn.com.cvsource.utils.EncryptUtils", // 包名+类名
                    loadPackageParam.classLoader,
//                    "encrypt",     // 要hook的方法名称
                    "getApiSalt",     // 要hook的方法名称
//                    String.class, String.class,String.class, // 参数列表
                    new XC_MethodHook() {
                        @Override
                        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                            super.beforeHookedMethod(param);
                            // 打印参数信息
                            // 获取第一个参数
//                            XposedBridge.log("String1:"+param.args[0]);
//                            // 获取第二个参数
//                            XposedBridge.log("String2:"+param.args[1]);
//                            XposedBridge.log("String3:"+param.args[2]);
                        }


                        // hook之后 可以打印返回值信息 修改返回值
                        @Override
                        protected void afterHookedMethod(MethodHookParam param)
                                throws Throwable {
                            super.afterHookedMethod(param);
                            // 打印方法返回值信息
                            XposedBridge.log("result:"+param.getResult());
                            // 修改方法返回值
                            param.setResult(true);
                        }

                    });
        }
    }
}

4.在main下创建xposed入口:

​ 创建assets文件夹 并创建 xposed_init,写清入口类:com.sun.xposed.XposedHook。

5.运行及打包:

可通过build编译成apk,提供其他人使用。

编写xposed插件,2021,android

指定目录下创建秘钥,并选择release完成编译。

编写xposed插件,2021,android

6.总体结构

编写xposed插件,2021,android文章来源地址https://www.toymoban.com/news/detail-599907.html

到了这里,关于Xposed插件编写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Xposed 框架检测机制

    2024年02月16日
    浏览(31)
  • Xposed环境安装

    Zygote是Android的核心,每运行一个app,Zygote就会fork一个虚拟机实例来运行app, Xposed Framework深入到了Android核心机制中,通过改造Zygote来实现一些很牛逼的 功能。Zygote的启动配置在init.rc 脚 本 中,由系统启动的时候开启此进程,对应的 执行文件是/system/bin/app_process,这个文件完

    2024年02月16日
    浏览(32)
  • 模拟器安装XPosed框架教程

    99%的情况只需要下载里面的XPosed鸭就行了 安卓8及以下XPosed框架 - 多开鸭 模拟器安装XPosed框架图文视频教程 关于本站XPosed框架的说明 XPosed框架(即XP框架),由rovo89开发。适用于安卓7以下及部分安卓8(不推荐) 安装需要root权限,本站汉化并出资 https://www.duokaiya.com/xposed.html 哪些

    2024年01月16日
    浏览(51)
  • 使用Xposed对native进行hook

    Xposed框架可谓是“家喻户晓”的神器,它具有着frida所不具备的持久性(虽然frida也可以通过frida-gadget实现持久化,但没有Xposed使用方便)。当我们需要hook java层的代码时,Xposed使用起来得心应手,但是随着软件开发者的安全意识越来越高,放在java层的核心代码也就越来少,这就

    2024年02月02日
    浏览(34)
  • fidder+Xposed & JustTruestMe框架安装,解决网络错误

      查找了网上很多资料,和HTTPS中SSL Pinging 特性有关:   SSL Pinging, 即 SSL 证书绑定,是在HTTPS协议建立通信时增加的代码逻辑,它通过自己的方式验证服务器身份,然后决定通信是否继续下去。它唯一指定了服务器的身份,所以HTTPS协议安全性较高。(个人理解:只要是APP中H

    2024年02月13日
    浏览(31)
  • 太极v14.0.4 免ROOT用Xposed

    一个帮助你免 Root、免解锁免刷机使用 Xposed 模块的 APP 框架。 模块通过它改变系统和应用的行为,既能以传统的 Root/ 刷机方式运作, 也能免 Root/ 免刷机运行;并且它支持 Android 5.0 ~ 11。 简单来说,太极就是个 Xposed 框架,能够加载 Xposed 模块、 修改系统和 APP、拦截方法,执

    2024年02月08日
    浏览(31)
  • 安卓5.0模拟器下安装Xposed和JustTrustMe详细教程解决app某音抓包无网络问题附安装包下载地址

    本篇文章主要介绍如何在安卓5.0模拟器下安装Xposed以及JustTrustMe模块,从而来实现抖音app抓包无网络问题,当然也包括抓包后HTTPS解密问题。 环境 : Android5.0 X86 架构,模拟器使用夜深/雷电均可,也可以使用AS中的VM manager新建安卓模拟器,你也可以使用真机测试但不推荐,毕竟需

    2024年02月02日
    浏览(71)
  • IDEA2021.1.3版本lombok插件--代码爆红问题解决

      最近,突然心血来潮将自己工作中开发使用的idea升级到2021.1.3版本,安装成功后,打开代码发现 有关get、set方法全部爆红 ,不用想,肯定是 Lombok插件问题 ,通过setting-plugin里面搜索Lombok居然不存在,再一看原来是该版本idea自带Lombok插件,与当前环境不适配。    但是

    2024年02月08日
    浏览(61)
  • IntelliJ IDEA 2021版本可用的IDE Eval Reset插件

    IDEA版本说明: 如果你是最新版本或者比 2021.2.2 版本高的话,就可能存在失效或者不可用的情况,可以尝试降低版本使用。 在 idea- settings- plugins 里搜索 IDE Eval Reset (注意:是在Marketplace栏目下搜索,Installedl栏目下是你已经安装好的插件),然后点击 Install 进行安装,安装完

    2024年02月14日
    浏览(50)
  • Unity 从2018升级为2021之后 IAP(内购插件)报错解决

    从老项目升级为2021高版本之后报了个错 大概就是… 这种 具体的我也没粘贴全部过来 原因貌似是 PackManger里面的IPA包和项目自带的冲突了 解决方法: 删除项目文件夹下面的: 这些Dll 然后还会报个错 ,那个是版本更新API了 打开PurchaseManager 增加一行: 就可以了

    2024年02月10日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包