huha 2020-10-16
在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试。最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改安卓系统配置文件的方式来修改但是没有找到解决方案。最后决定针对自己的手机进行私人订制,缺点是只能针对固定机型进行设置,不过优点是脚本很好编写,可以很快的对自己平时使用的测试机进行定制(非Windows下的脚本编写过程类似)。
利用adb命令编写PowerShell脚本
Windows下编写脚本用到了PowerShell和adb相关命令,脚本内容如下(坐标定位用uiautomatorviewer就可以):
Write-Host "更改设置中……" -ForegroundColor Green #点击Home键返回Home页并进入网络设置页面 adb shell input keyevent 3 adb shell am start -a android.settings.WIRELESS_SETTINGS adb shell input tap 421 570 adb shell input tap 421 570 adb shell input tap 605 1665 #手动设置代理 #删除主机名 adb shell input swipe 972 1687 972 1686 1500 #获取本机ip $ip = (ipconfig|findstr "IPv4"|findstr "10.234").split(":")[1] #修改主机名为本机ip adb shell input text $ip #收起软键盘 adb shell input tap 997 1250 #向上滑动屏幕 adb shell input swipe 813 1626 794 201 1000 #点击端口框 adb shell input tap 955 1461 #删除端口号 adb shell input swipe 986 1388 986 1386 1000 #输入端口号8888 adb shell input tap 547 1688 adb shell input tap 547 1688 adb shell input tap 547 1688 adb shell input tap 547 1688 #点击返回按钮 adb shell input tap 1009 1853 #下一项 adb shell input tap 1009 1853 #完成设置 adb shell input tap 1009 1853 #返回设置界面 adb shell input tap 77 126 #返回Home页 adb shell input keyevent 3 Write-Host "手机wifi代理设置完毕,已与本机相连,请开抓包工具!" -ForegroundColor Green Read-Host
将脚本编译为exe可执行文件
可以进一步将PowerShell脚本转化为可双击执行的exe文件。推荐使用Ps1 To Exe Online Converter这款在线应用上传脚本进行转化后下载。点击解压后的exe文件,运行效果如下: