原来在 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 插件?