V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jiangwei2222  ›  全部回复第 7 页 / 共 20 页
回复总数  395
1 ... 3  4  5  6  7  8  9  10  11  12 ... 20  
@yangyuhan12138 #17 android 支持鼠标、键盘这类输入设备。硬件级模拟鼠标、或者模拟触摸板呗
@yangyuhan12138 #13 https://github.com/Jinnrry/RobotHelper/blob/master/Android/app/src/main/java/cn/xjiangwei/RobotHelper/Xposed/Hook4Env.java

这个地方就是我用来 hook 部分系统变量防检测的。但是每个手机,每个应用检测的东西不一样,我没提交上去。
@yangyuhan12138 #13 如果是程序检测 root 的话,可以试试面具的防检测,如果面具的防检测也不行的话。可以尝试自己编译一个安卓系统,然后刷进去,编译的时候把点击权限判断的那个方法改成直接 return true 。如果是小米、一加这类手机,随手就能找到开源的 rom 代码,自己修改编译一个是最方便的。自己改源码能够搞的东西非常多,而且对方应用完全没办法检测

不在系统层处理的话,你反编译需要控制的应用也行,找到他检测 root 的地方,用 xposed hook 屏蔽他的检测
echo '0x03, 0x39, 0x000021e7' >> /dev/input/event[x]
echo '0x01, 0x14a, 0x01' >> /dev/input/event[x]
echo '0x03, 0x32, 0x00000009' >> /dev/input/event[x]
echo '0x03, 0x35, 1' >> /dev/input/event[x]
echo '0x03, 0x36, 1' >> /dev/input/event[x]
echo '0x00, 0, 0x00000000' >> /dev/input/event[x]
// 这里暂停几百毫秒
echo '0x03, 0x39, 0xffffffff' >> /dev/input/event[x]
echo '0x01, 0x14a, 0x00' >> /dev/input/event[x]
echo '0x00, 0, 0x00000000' >> /dev/input/event[x]

把[x]改成你的设备序号,没记错的话应该是这个格式,你试试呢。这个是模拟点击(1,1) 这个位置的
@yangyuhan12138 #6
你确定不是权限问题,写命令是成功的?

你写一起发送试试呢,sendevent 原理是直接写设备文件,这个是 linux 系统处理的,理论上安卓都不负责这部分。应用程序一般不可能有权限检测这个。

或者你更加简单粗暴一点,把 sendevent 命令内容直接写到设备文件中内,就这样 echo 'xxxxx' >> /dev/input/event[x]
@yangyuhan12138 #32 另外,你这真是完完全全把我当年的路全部重走了一遍啊,我当年为了搞这个,把 android 输入部分的源码全看了一遍,把 airtest 、autojs 等框架源码也看了一遍。还反编译了按键精灵,研究了按键精灵的实现。你都写安卓代码了,直接把我那个框架拿来用呗,坑我都帮你踩完了。你再继续研究下去,跟我那框架写的没啥区别了

我目测,模拟点击、图像识别只是你第一个坑,你好不容易点击和识别处理完了,你还会遇到文本输入,防爬验证码,文本输入我是自己实现了一个输入法模拟输入,防爬我是引入了 tf ,自己训练 ai 模型处理的。

如果你是操作游戏的话,游戏厂商还会使用 ai 判断你的操作轨迹是否符合人类习惯,到这一步的话,你又需要录制你的手动操作进行回放。
adb shell input 不响应的话,你试试 adb shell sendevent /dev/input/eventxx xxx xxx xxx 这种方式响应吗,sendevent 更加底层。具体咋用你网上搜下
@yangyuhan12138 #32 1 、图像识别慢,我很久以前看过 airtest 的代码,我记得他是用的 adb 截图和传数据,慢主要卡在截图和传输上面。
2 、无障碍被检测很正常啊,安卓允许程序针对无障碍操作做出不同的响应,国内大部分 app 和游戏都会区分处理,用来反爬
@yangyuhan12138 #30 我也是后端开发。你用 adb 操作应该也是`adb shell sendevent xxx` 这样操作的吧。你可以看我贴的 sendevent 源码,对一些游戏操作的时候,需要高频点击,sendevent 操作会有延迟,导致问题。我是重写了 sendevent 工具解决的。

另外,你如果用 sendevent ,你直在程序里面调用就行了,不需要 adb
对了,我也提供了 http api ,你装一个我这个程序,然后就能在手机上开启 http api ,用 http api 也能实现那需要的点击那些操作

https://github.com/Jinnrry/RobotHelper/wiki/%E5%9F%BA%E4%BA%8EWEB%E6%8E%A5%E5%8F%A3%E7%9A%84%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97

http api 我当初设计出来是为了大批量群控的,但是后面实际没用上。后续没怎么维护,可能有问题,遇到问题的话你提 issuse
你当前如果有很多脚本不方便迁移,或者你不会 Android 开发,那你基于 linux 开发就行了。linux 输入文件位于/dev/input/event*,你找到你手机触摸屏对应的那个设备文件,直接往里面写入点击命令就行了。比如你要点击 1,1 这个位置,就写入
```
EV_ABS, ABS_MT_TRACKING_ID, 0x000021e7
EV_KEY, BTN_TOUCH, DOWN
EV_ABS, ABS_MT_WIDTH_MAJOR, 0x00000009
EV_ABS, ABS_MT_POSITION_X, 1
EV_ABS, ABS_MT_POSITION_Y, 1
EV_SYN, SYN_REPORT, 0x00000000
```
具体实现你参考我 https://github.com/Jinnrry/RobotHelper/blob/master/Android/app/src/main/java/cn/xjiangwei/RobotHelper/Tools/InputImp/RootInput.java 这个文件

或者 android 源码中的 sendevent 代码 https://android.googlesource.com/platform/system/core/+/android-5.0.2_r3/toolbox/sendevent.c


如果你没有很多脚本需要迁移,或者会 android 开发,基于我这个框架写就完事了。我还封装了很多图像处理的工具,比如找点、找图啥的。而且纯 android 开发,导入 tensorflow 啥的也方便,遇到各种反作弊,或者某些策略,上机器学习就完事了
https://github.com/Jinnrry/RobotHelper/tree/master

你看下我写的这个项目,你想用 adb 命令执行的话你翻一下我早期的代码历史。早期我就是用 adb 命令点击的。但是性能太差,后面我废弃掉了。现在提供 root ,xposed ,无障碍三种方式提权完成点击
300 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@selectChase 目前暂时没有。
303 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@zspzwal #10 哪方面?
304 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@LING97 宏源,能不能活水我也不清楚。你想来的话我可以去问问
304 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@lxxxv5 我是后端研发,我是发的我们部门的内推,前端那边我也不太清楚。你想找我推前端的话可以去滴滴官网看看,有合适的岗位可以给你推。不过这种内推就只能帮你把简历给相关的 hr 了,不能直接给部门 leader
304 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@Vintingb 不一定非得 3 年整,但是毕竟社招,得有一定的工作经历
305 天前
回复了 jiangwei2222 创建的主题 酷工作 发个自己部门的内推,滴滴企业级
@jamosLi 北京
1 ... 3  4  5  6  7  8  9  10  11  12 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5598 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 06:06 · PVG 14:06 · LAX 23:06 · JFK 02:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.