转载请注明出处
本人自 Android 开发入坑一周年以来,向来对Root设备不太感冒。我对Root的设备的态度和对苹果的越狱差不多。大学期间有个舍友越狱了自己的 iPhone,据说从此可以下载许多的收费应用和游戏,所以越狱给我的映像就是破解软件的收费限制,Root也差不多。自己成为一名开发者之后,深感 Google 大法好,不 Root 也能把 Android 玩得很好,然而我毕竟还是 too young too simple,在微信群的抢红包大战中败给越狱之后的 iPhone 的抢红包插件之后,我决定研究 Android 上的抢红包插件。
上 Github 搜红包插件,果然层出不穷,知乎大神纷纷表示情绪稳定,谈笑间抛出一个名词 – AccessibilityService。据说该 API 设计的初衷是为有障碍人士提供更方便的操作手机的的选择,只要用户为 App 打开这个这个权限的开关,App 就可以模拟用户对应用进行操作:解析当前界面,点击,等等。我下载了 Github 上一个高 star 的抢红包插件,测试了一下,确实可以帮助用户点开红包,并拆开,比手点是快了点,但是这个东西一点都不稳定,常常红包出现了,却不去点,或者点开了红包不拆开。另一个问题就是,这样抢红包依然太慢,还是要观看拆红包的那个动画,达不到毫秒级抢红包,与越狱后的 iPhone 抢红包插件性能相去甚远。
另一个容易想到的方法就是在红包到达时,调用微信的拆红包操作 API(假设能逆向微信代码,并且找到对应代码),这里涉及到的技术难点是 Hook 微信的方法,目前有比较成熟的方案便是