xanian 发表于 2022-10-31 17:10

最新的雷电模拟器xposed框架配置及模块编写

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

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

首先在雷电模拟器中搜索xposed框架下载,点开xposed框架是未安装的,我以前搭的时候可以直接通过在雷电模拟器开代{过}{滤}理,直接在xposed框架里面下载,现在官网不能访问了,只能通过推送安装包到模拟器里面实现框架安装(安装包我会放在文章尾)具体流程如下将我提供的89版本的xposed框架包(已包含 scrapy.sh),然后执行以下命令以下命令      
      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文件
将 implementation files('libs\\XposedBridgeAPI-89.jar')改成 compileOnly files('libs\\XposedBridgeAPI-89.jar')
后面就跟网上的一些教程没什么区别了,接着修改AndroidManifest.xml文件,在Application标签下增加内容如下:
<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模块编写可以直接套壳编写
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

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

感谢分享{:1_893:}
页: [1] 2 3 4 5
查看完整版本: 最新的雷电模拟器xposed框架配置及模块编写