首页
社区
课程
招聘
[原创]【开源】Qujing曲境 | 在PC浏览器上进行安卓的监控hook
发表于: 2021-1-23 16:16 13387

[原创]【开源】Qujing曲境 | 在PC浏览器上进行安卓的监控hook

2021-1-23 16:16
13387

曲境是一个xposed模块,可实现在PC浏览器上动态监控(hook)函数调用和查看堆栈信息,及反射调用(invoke)等功能。避免了频繁写hook代码的麻烦,提供了可视化的界面,对新手更友好。

Github地址:5e6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6y4L8$3y4Z5j5g2)9J5k6p5I4Q4x3V1k6c8N6f1A6A6L8X3M7`.

项目依据xserver优化而来,感谢原作者@Monkeylord

1. 枚举安卓设备所有APP

2. 根据类名和方法名搜索方法

3. 方法监控,打印调用栈和出入参

4. 对目标方法强制执行

(因为是xposed模块,则依赖xposed环境,需提前准备)

1. 安装APK(在源码地址提供了编译好的apk,不想自己编译的可以直接使用),安装完成后,激活该模块并重启手机。

2. 手机重启完成后,通过adb完成固定端口转发



3. 浏览器输输入 9bcK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5J5y4#2)9J5k6e0m8Q4x3X3f1H3i4K6u0W2x3g2)9K6b7e0j5I4x3o6l9H3i4K6u0r3i4@1f1^5i4@1u0r3i4K6W2n7i4@1f1#2i4K6R3#2i4@1p5#2i4@1f1&6i4K6R3#2i4K6S2p5i4@1f1%4i4@1u0p5i4@1q4q4i4@1f1%4i4K6W2n7i4@1q4q4i4@1f1$3i4@1p5H3i4K6R3%4i4@1f1#2i4@1u0m8i4K6V1@1i4@1f1%4i4K6V1@1i4@1p5^5i4@1f1%4i4K6V1#2i4K6S2o6i4@1f1&6i4K6W2p5i4@1p5J5i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1%4i4K6V1#2i4K6S2o6i4@1f1&6i4K6W2p5i4@1p5J5i4@1f1#2i4K6R3^5i4K6V1%4i4@1f1@1i4@1t1^5i4@1u0q4i4@1f1@1i4@1u0m8i4K6R3$3i4@1f1$3i4K6R3&6i4K6S2n7i4@1f1$3i4K6W2o6i4@1u0m8i4@1f1@1i4@1t1^5i4@1q4p5i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6R3&6i4K6R3H3i4@1f1$3i4K6W2o6i4K6R3&6b7g2m8b7i4@1f1@1i4@1u0q4i4K6W2n7i4@1f1@1i4@1u0p5i4@1p5H3i4@1f1&6i4K6R3H3i4K6R3&6i4@1f1$3i4K6S2n7i4@1p5&6i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1q4r3i4@1t1&6i4@1f1@1i4@1u0m8i4K6S2q4i4@1f1@1i4@1u0p5i4@1p5H3i4@1f1^5i4@1p5$3i4K6R3I4i4@1f1%4i4K6W2n7i4K6V1I4i4@1f1$3i4K6S2q4i4@1p5%4i4K6u0r3i4@1f1$3i4K6R3&6i4@1p5%4i4@1f1^5i4@1p5I4i4K6S2o6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1#2i4@1u0m8i4K6V1@1i4@1f1%4i4K6V1@1i4@1p5^5i4@1f1^5i4@1u0r3i4K6W2n7i4@1f1^5i4@1p5I4i4K6S2o6i4@1f1#2i4K6S2n7i4@1u0q4i4@1f1&6i4K6R3H3i4K6R3&6i4@1g2r3i4@1u0o6i4K6R3^5i4@1f1$3i4K6V1@1i4@1q4r3i4@1f1$3i4K6S2o6i4K6R3I4i4@1f1#2i4@1p5@1i4K6W2m8i4@1f1&6i4K6R3H3i4K6R3&6i4@1g2r3i4@1u0o6i4K6R3&6i4@1f1%4i4K6R3@1i4@1t1$3i4@1f1#2i4K6V1H3i4K6S2q4i4@1f1J5i4K6R3H3i4K6W2o6i4@1f1$3i4K6S2r3i4K6V1H3i4@1f1@1i4@1u0m8i4@1p5@1i4@1f1@1i4@1u0r3i4K6W2p5i4@1f1#2i4@1q4p5i4K6V1^5i4@1f1J5i4K6R3H3i4K6W2p5i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1&6i4@1p5I4i4@1t1#2i4@1f1&6i4K6W2p5i4@1p5J5i4@1f1&6i4K6R3%4i4K6S2p5i4@1f1$3i4K6V1$3i4@1t1H3i4@1f1#2i4K6S2m8i4@1p5H3i4@1f1^5i4@1u0p5i4@1u0p5i4@1f1#2i4K6V1H3i4K6S2q4i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4@1p5J5i4@1q4n7i4@1f1#2i4K6S2n7i4@1u0q4i4@1f1&6i4K6R3H3i4K6R3&6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1@1i4@1u0o6i4K6W2m8i4@1f1$3i4K6S2q4i4K6V1J5i4@1f1#2i4K6R3^5i4K6V1%4i4@1f1#2i4K6W2o6i4@1p5^5i4@1f1&6i4@1p5I4i4@1t1$3i4@1f1&6i4K6R3K6i4@1p5^5i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1%4i4K6R3@1i4@1t1$3i4@1f1#2i4K6V1H3i4K6S2q4i4@1f1%4i4K6R3J5i4@1t1&6i4@1f1#2i4K6R3%4i4@1u0n7i4@1f1J5i4K6R3H3i4K6W2o6i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1@1i4@1t1^5i4K6R3H3i4@1f1$3i4@1q4p5i4@1p5#2i4@1f1J5i4K6R3H3i4K6W2p5i4@1f1K6i4K6R3H3i4K6R3J5

4. 在这一步,需要手动操作手机打开APP,(如果在上一步配置之前已经打开了APP,则需要重新打开APP)。打开之后,页面会提示你端口转发的命令,复制并执行。执行成功后会显示:配置成功,点击进入,此时点击蓝字进入即可。

5. 这一步已经可以进行搜索类了,把感兴趣的类名输入进行搜索,如图搜索的时“搜索用户”的相关类,输入完成点击曲境一下,然后找到感兴趣的方法,点击方法自动跳转。

6. 进入监控的方法,可以看到该方法的基本信息。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2021-1-23 16:24 被燕幕自安编辑 ,原因: 传图
收藏
免费 2
支持
分享
最新回复 (18)
雪    币: 198
活跃值: (616)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大佬,感谢分享
2021-1-24 09:01
0
雪    币: 3496
活跃值: (749)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
厉害,谢谢分享
2021-1-24 15:50
0
雪    币: 3366
活跃值: (2786)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4

点配置成功进入后显示的不正确 

环境  

手机 pixel2 

面具版本 20.0  7.3.5(243)

edXposed版本2.2.4



2021-1-24 19:57
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
小米8安卓9,搜索类啥都搜不着,楼主可以看一下吗
2021-1-24 22:40
0
雪    币: 1467
活跃值: (1054)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
这个现象还没见过 页面加载不出来?pixel2 我也试过的,edxposed没试过 换成xposed试一下么?
2021-1-24 23:14
0
雪    币: 1467
活跃值: (1054)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
suuuuu 小米8安卓9,搜索类啥都搜不着,楼主可以看一下吗
没有小米8啊。。。你走到哪一步啦?都到搜索类的页面的话,试试搜一些一定有的比如“android.os.Build”
2021-1-24 23:16
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
android.os.Build 可以搜到,搜其他的就不行了,我测试的是快手8.1
2021-1-25 00:45
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
东西是好东西,用不了就很难受,小红书也是了,全部提示未找到类
2021-1-25 00:49
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主你测试用的安卓是什么版本的
2021-1-25 00:50
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我用的也是edxposed,安卓8.0以上现在都不支持xposed了,都得用edxposed
2021-1-25 00:53
0
雪    币: 1467
活跃值: (1054)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
12
suuuuu 我用的也是edxposed,安卓8.0以上现在都不支持xposed了,都得用edxposed
哇 如果是个别app不支持的话 那有个能是一些特殊情况不兼容,如果感兴趣的话可以下下来源码调一下试试 我猜测你这个问题有可能是app多classloader加载 qujing还没支持这个功能
2021-1-26 01:36
0
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
膜一下
2021-1-29 13:44
0
雪    币: 1387
活跃值: (5614)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
14
666666
2021-2-2 10:46
0
雪    币: 220
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
红米 MIUI 12.0.2 也是啥类都搜不到
2021-3-3 11:57
0
雪    币: 1467
活跃值: (1054)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16
Jeffrey_z 红米 MIUI 12.0.2 也是啥类都搜不到
这一层统一回复一下各位,
目前发现了个bug,就是没有网络权限的APP是用不了,原因是插件和管理程序进行了本地通信127.0.0.1
不知道你这个是不是这个问题,试一下别的app
2021-3-5 00:36
0
雪    币: 2630
活跃值: (5097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
什么类都搜不到
2021-3-17 14:40
0
雪    币: 2630
活跃值: (5097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我分析出来了 就是classloader不应该在 gatherInfo 这个函数里面重新赋值 

```
private void gatherInfo(XC_LoadPackage.LoadPackageParam loadPackageParam) {
        packageName = loadPackageParam.packageName;
        isFirstApplication = loadPackageParam.isFirstApplication;
        classLoader = loadPackageParam.classLoader;
        Log.e("LogXutils","gatherInfo"+classLoader.toString());
        processName = loadPackageParam.processName;
        appInfo = loadPackageParam.appInfo;
    }
```
应该删掉 

```
 classLoader = loadPackageParam.classLoader;
```
这行代码

2021-3-17 15:56
0
雪    币: 1467
活跃值: (1054)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
19
小黄鸭爱学习 我分析出来了 就是classloader不应该在 gatherInfo 这个函数里面重新赋值 ``` private void gatherInfo(XC_LoadPackage.LoadP ...
谢谢你啊 github上已经改过啦~ 多谢支持~ 给你在readme署名一下
2021-3-28 02:07
0
游客
登录 | 注册 方可回帖
返回