首页
社区
课程
招聘
最新雷电模拟器的xposed框架配置及模块编写
2022-10-31 13:27 19602

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

2022-10-31 13:27
19602

前文

之前搭xposed框架的时候,发现网上的很多教程现在已经不适用了,所以就有了写这篇教程的想法,希望能给你们搭xposed框架的时候提供一点帮助。如果对你有帮助的话,给个赞吧。(- v -)

环境

雷电模拟器4.0.82(x86框架)

 

Android studio

配置

框架安装

首先在雷电模拟器中搜索xposed框架下载,点开xposed框架是未安装的,我以前搭的时候可以直接通过在雷电模拟器开代理,直接在xposed框架里面下载,现在官网不能访问了,只能通过推送安装包到模拟器里面实现框架安装(安装包我会放在文章尾)

 

具体流程如下

 

将我提供的89版本的xposed框架包(已包含 scrapy.sh ),然后执行以下命令以下命令

1
2
3
4
5
6
7
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文件

1
2
将 implementation files('libs\\XposedBridgeAPI-89.jar')
改成 compileOnly files('libs\\XposedBridgeAPI-89.jar')

后面就跟网上的一些教程没什么区别了,接着修改AndroidManifest.xml文件,在Application标签下增加内容如下:

1
2
3
4
5
6
7
8
9
<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模块编写可以直接套壳编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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://bbs.pediy.com/thread-272870.htm

 

https://blog.csdn.net/weixin_44183483/article/details/118931351


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞5
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回