首页
社区
课程
招聘
一款基于Xposed自动化框架[XposedAppium]
发表于: 2020-7-28 15:01 41903

一款基于Xposed自动化框架[XposedAppium]

2020-7-28 15:01
41903

基于Xposed做的一款自动化点击,滑动框架(基于安卓原生的事件分发)。可以模拟手指的一切操作,基于Xpath表达式获取View。此框架在virjar大佬的框架基础上进行的修改的,修复了部分Bug,添加常用方法等。

https://github.com/virjar/

目标App:
在登入页面输入账号密码后,跳转到第二个Activity并点击对话框确定按钮。
登入页
对话框

Xposed模块:
很简单,添加对应的Activity,需要实PageManager.ActivityFocusHandler(需要处理的Activity)接口
图片描述
使用uiautomatorviewer拿到对应的View即可,Xpath表达式语法
(后面有详细的Api介绍,支持点击,滑动,可以模拟手指的一切操作)
图片描述
第二个页面
图片描述

可以看到方法很简洁,handleActivity就是切换到当前页面以后执行的回调。
第一个参数是当前页面的Activity,第二个参数是当前Activity对应的View封装的工具Bean对象。(下面有详细的Api介绍)

通过Hook Application->dispatchActivityResumed(也可以Hook Activity的 onResume),包括Fragment里面的onResume等来监听页面的切换,
dispatchActivityResumed

切换以后,遍历已实现的
PageManager.ActivityFocusHandler或者需要处理的Fragement
图片描述
根据设置的延迟时间,调用对应的回调
图片描述

图片描述


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 19
支持
分享
最新回复 (79)
雪    币: 6003
活跃值: (3490)
能力值: ( LV6,RANK:96 )
在线值:
发帖
回帖
粉丝
2
顶一个!
2020-7-28 15:06
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
3
大佬,66666666666666666666
2020-7-28 15:08
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666666666666
2020-7-28 15:09
0
雪    币: 1867
活跃值: (3973)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
评价下,这个东西真的很强大。 脱机不要USB,速度快,稳定。以前自动化基本都是测试开发玩儿的,逆向或者爬虫都是使用测试同学封装的框架。这个框架确实专门给我们这类人开发的。逆向知识+自动化知识配合。同时拥有两个工种的优点。
2020-7-28 15:13
1
雪    币: 3907
活跃值: (5817)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
6
法律风险越来越大。
2020-7-28 15:15
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
这个库能解决那种随机的弹窗吗,比如广告窗口,升级窗口
2020-7-28 15:57
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
8
学编程 这个库能解决那种随机的弹窗吗,比如广告窗口,升级窗口
当然可以只要手指能做的都可以做哦
2020-7-28 16:01
0
雪    币: 634
活跃值: (458)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
哈哈哈
2020-7-28 16:39
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
珍惜Any 当然可以只要手指能做的都可以做哦
我的意思是时机,广告窗口,升级窗口,不会再固定activity窗口弹出来的,看你的例子,是线性操作
2020-7-28 16:42
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
11
学编程 我的意思是时机,广告窗口,升级窗口,不会再固定activity窗口弹出来的,看你的例子,是线性操作
不是呀 我里面做了对话框show方法的回调 你只需要根据弹窗的特征进行dismiss即可
2020-7-28 16:49
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
12
也可以设置页面的延迟,比如延迟10秒执行然后线性执行逻辑也可以
2020-7-28 16:50
0
雪    币: 634
活跃值: (458)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
会不会被检测。使用外挂、脚本
2020-7-28 16:52
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
14
歌神鸡比 会不会被检测。使用外挂、脚本
基于安卓原生事件分发的,滑块验证码测试都没问题
2020-7-28 16:55
0
雪    币: 106
活跃值: (381)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
试了一下没有调试起来,我把minSdkVersion改成16,支持安卓4.4吗
2020-7-28 17:15
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
16
caicaihui 试了一下没有调试起来,我把minSdkVersion改成16,支持安卓4.4吗
可以
2020-7-28 17:18
0
雪    币: 4853
活跃值: (3776)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
已经star+fork
2020-7-28 17:18
0
雪    币: 4065
活跃值: (3457)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
像游戏那种surfaceview绘制出来的, 可以操作的了吗?
2020-7-28 17:36
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
19
StriveMario 像游戏那种surfaceview绘制出来的, 可以操作的了吗?
可以 直接对activity分发对应的点击点击就好了
2020-7-28 18:26
0
雪    币: 4065
活跃值: (3457)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
珍惜Any 可以 直接对activity分发对应的点击点击就好了
大佬666
2020-7-28 19:21
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
滑块验证码怎么做??
2020-7-28 20:02
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
22
mb_vtqoqpot 滑块验证码怎么做??
拿到滑块的view直接滑到指定位置就行
2020-7-28 22:01
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
有安装教程吗,大佬
2020-7-29 10:49
0
雪    币: 106
活跃值: (381)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
有的功能比较深,想通过一件点击到想要的功能,比如说微信的清空聊天记录,启动Activity后,如何判断是自动打开的还是人工打开的
2020-7-29 12:13
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
25
caicaihui 有的功能比较深,想通过一件点击到想要的功能,比如说微信的清空聊天记录,启动Activity后,如何判断是自动打开的还是人工打开的
你可以自己启动他的activity 在Intent里面加个自己的 flag啊
2020-7-29 13:47
0
游客
登录 | 注册 方可回帖
返回
//