一、起因
由于某某app有个邀新活动,福利挺吸引人的。所以通过BurpSuite抓包出注册、登陆、签到、填邀请码等整个流程的api,实现邀请流程自动化。第一天很顺利,程序帮我斩获了良好的成绩。第二天邀新活动暂停了,这种情况也是意料之中。
又过了将近两个星期,app进行了升级,活动入口又一次出现了。不过这次不会像刚开始那样简单,发现每个api都加上验证参数,目的很明显就是防止恶意刷。所以用jadx反编译了app,发现加密最后的核心逻辑是在一个so文件,这就难倒我了。所以后面想到了使用adb来操作app达到实现自动化。
这里简单记录下,整个流程主要使用的adb命令。
二、adb命令
- 连接设备(夜神模拟器)
adb connect localhost:62001 - 杀进程服务
adb kill-server - 查看设备
adb devices - 安装app
adb install xxx.apk - 进入adb shell
adb shell - 查看活动页面
adb shell dumpsys activity | grep mFocusedActivity - 启动activity(多开分身)
adb shell am start -n com.bly.dkplat/.widget.MainActivity - 屏幕从(600, 900)滑动至(200, 900),耗时300毫秒
adb shell input swipe 600 900 200 900 300 - 点击屏幕坐标(620, 385)
adb shell input tap 620 385 - 文本输入hello
adb shell input text hello - 按键tab输入
adb shell input keyevent KEYCODE_TAB - 强制关闭app
adb shell am force-stop com.xx.xx - 清理缓存
adb shell pm clear com.xx.xx