吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7090|回复: 43
收起左侧

[Android 原创] 最新的雷电模拟器xposed框架配置及模块编写

  [复制链接]
xanian 发表于 2022-10-31 17:10
本帖最后由 xanian 于 2022-10-31 17:20 编辑

前文
之前搭xposed框架的时候,发现网上的很多教程现在已经不适用了,所以就有了写这篇教程的想法,希望能给你们搭xposed框架的时候提供一点帮助。如果对你有帮助的话,给个赞吧。(- v -)  ps:因为图床出了点问题,我就不贴图了
环境
雷电模拟器4.0.82(x86框架)
Android studio
配置框架安装

首先在雷电模拟器中搜索xposed框架下载,点开xposed框架是未安装的,我以前搭的时候可以直接通过在雷电模拟器开代{过}{滤}理,直接在xposed框架里面下载,现在官网不能访问了,只能通过推送安装包到模拟器里面实现框架安装(安装包我会放在文章尾)具体流程如下将我提供的89版本的xposed框架包(已包含 scrapy.sh  ),然后执行以下命令以下命令        
[Shell] 纯文本查看 复制代码
        adb remount
        adb push xposed /system
        adb shell
        su
        cd /system/xposed
        mount -o remount -w /system
        sh script.sh

这个时候重启一下,再打开xposed框架,就发现已经激活成功了
编写模块配置

首先在Android studio中新建一个工程,在新建工程的app/lib目录中导入XposedBridgeAPI-89.jar(直接复制粘贴就行),然后就是最关键的一点了,我之前就是在这个地方卡了很久,网上很多的现在不适用了,首先右键这个jar包,选择最后一个选项add as library,然后打开src文件夹下的build.gradle文件
[Plain Text] 纯文本查看 复制代码
将 implementation files('libs\\XposedBridgeAPI-89.jar')改成 compileOnly files('libs\\XposedBridgeAPI-89.jar')

后面就跟网上的一些教程没什么区别了,接着修改AndroidManifest.xml文件,在Application标签下增加内容如下:  
[Java] 纯文本查看 复制代码
<meta-data
    android:name="xposedmodule"   //是否配置为Xposed插件,设置为true
    android:value="true"/>
<meta-data
    android:name="xposeddescription"   //模块的名称
    android:value="模块描述"/>
<meta-data
    android:name="xposedminversion"   //最低版本号
    android:value="54"/>

然后基本的配置就完成了。
模块编写实例

最后给小白提供一个简单的模块编写范本,对于一些简单的xposed模块编写可以直接套壳编写
[Java] 纯文本查看 复制代码
package xx.xx.xx; #自己的包名
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 HookTest implements IXposedHookLoadPackage {
    public void handleLoadPackage(xc_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable{
        if (loadPackageParam.packageName.equals( "xx.xx.xx")) { #目标包名,过滤包名
        class clazz = loadPackageParam.classLoader.loadClass(
            "xx.xx.xx.xx" ) ;#目标包名+类名
        XposedHelpers.findAndHookMethod(clazz,"hook的方法",new XC_MethodHook() {
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                super.beforeHookedMethod(param);#方法执行前调用,可以获取参数,更改参数
            }

            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                super.afterHookedMethod(param);#方法执行后调用,可以获取返回值,更改返回值
            }
        }

更多的一些xposed模块编写的方法,网上教程很多,我就不过多叙述了。
链接:https://pan.baidu.com/s/16DIsKdiJUolOW7hGSab8Hg 提取码:xana
89的jar包和xposed文件夹都在里面了
参考链接https://bbs.pediy.com/thread-272870.htm              https://blog.csdn.net/weixin_44183483/article/details/118931351

免费评分

参与人数 14吾爱币 +13 热心值 +13 收起 理由
junjia215 + 1 + 1 谢谢@Thanks!
xlu66 + 1 + 1 热心回复!
JUNWO999 + 1 + 1 我很赞同!
nightmare77 + 1 + 1 我很赞同!
kingzswang + 1 + 1 用心讨论,共获提升!
安静的疯子 + 1 谢谢@Thanks!
manyou + 1 + 1 谢谢@Thanks!
shizi1521 + 1 + 1 热心回复!
luozi1653 + 1 + 1 热心回复!
alalalsk163 + 1 + 1 谢谢@Thanks!
Vinfork + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
18720252754 + 1 我很赞同!
weixu + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

weixu 发表于 2022-10-31 17:27
感谢分享
青森 发表于 2022-10-31 17:35
xiangyu136 发表于 2022-10-31 18:06

本帖最后由 xanian 于 2022-10-31 17:20 编辑


前文
之前搭xposed框架的时候
金不坏 发表于 2022-10-31 18:32
正好用到,谢谢分享
我姓张嚣张的张 发表于 2022-10-31 18:44
感谢分享
qqxiazhitmac 发表于 2022-10-31 19:08
感谢分享
freedover 发表于 2022-10-31 19:11
虽然看不懂,但还是感谢你的分享
zhhll 发表于 2022-10-31 19:24
感谢你的分享
yeahn 发表于 2022-10-31 19:34
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 20:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表