原来在 Android 上如果要实现控制(即模拟点击),需要 root 权限。似乎是从 Android5.0 还是哪个版本开始,Accessibility API 也能实现模拟点击了。 因此现有的能够模拟点击的 Android 程序,要么要求 Root 权限(比如 HiroMacro,一个类似于按键精灵的 App,可以录制屏幕点击然后“重放”),还有向日葵远程控制。 要么要求启用 Accessibility Service,比如 alpha vnc (一个 VNC Server for Android,如果要开启控制支持就要启用 Accessibility Service,ViewOnly 则不用),比如 Auto.js (类似按键精灵,模拟点击操作那些也是通过 Accessibility API 实现的)。
但是,Teamviewer 似乎两者都不需要,而且记得从 Android 2.x 那个时代就支持控制了,无需 root,但是要针对不同的手机品牌下载一个插件(也是一个普通的 APK,无需特殊权限)。
那么神奇的问题就来了,Teamviewer 到底是通过什么途经实现模拟点击的呢?是挖出了不同厂商系统的漏洞,用漏洞来实现?可是一个厂家有千万种型号,解决方案系统版本什么都不一样(比如有 MTK 的有高通的)。 或者是 Teamviewer 跟这些手机厂家都有 py 交易开后门?然后根据不同厂家得到的后门专门编写一个 apk 插件?
1
diggerdu 2018-12-22 16:52:23 +08:00 via iPhone
有点意思 好奇
|
2
Cherish9527 2018-12-22 16:55:40 +08:00
这么一说 的确有点好奇
|
3
orsweet 2018-12-22 17:01:58 +08:00 via Android
和厂家有 py 交易,到现在也没有小米可用的插件。
|
4
nicevar 2018-12-22 17:07:09 +08:00
我记得官方说过的,是需要与厂商合作,否则只要 teamviewer 能做,其他的也能做
|
5
UIXX 2018-12-22 17:12:50 +08:00
跟合作厂商协议->编写相应品牌的插件->插件接入底层使用高级权限(可以理解为 PY 交易)
|
6
yrom 2018-12-23 00:13:52 +08:00
理论上,如果你的程序能获得权限直接访问 /dev/input/eventX,比如通过 adb shell 这个命令执行你的程序,就可以通过 libevdev 找到屏幕设备并向它发各种事件
|
7
aborigine 2018-12-23 09:35:11 +08:00 via iPhone
没有 py 交易的就不能控制,比如 pixel 之类的,据说 google 不鸟他们,在 teamviewer 论坛看到过
|