背景
在 MacOS 上使用飞书时,想针对其中的小程序进行 http 抓包,发现 charles 抓取不到任何相关的 http 信息。但直观上能够判断出小程序是使用 http 进行客户端和服务端通信的
步骤
- 进入到应用可执行文件的目录下
cd /Applications/Lark.app/Contents/MacOS
- 带 debug 参数执行启动文件 [可能要权限]
sudo ./Feishu -remote-debugging-port=9222
- 到 Chrome 中查看,输入网址
chrome://inspect/
看到小程序,点进去就可以调试了, NetWork 中有 http 记录
原理
应用程序使用 Electron 框架进行构建, 同一套前端代码可打包成同样的 Linux、Windows、MacOSS 三端桌面应用,所以本质上还是前端打包工具, 并且有游览器 debug 能力, 如果应用选择了开放,那么就可以直接根据上述操作进行调试了。
官网是没有骗人的,上述操作用在 VS Code 上面也是成立的