ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

lamda FIRERPA 上手教程:一个 Python 客户端跑通 Android UI 自动化与一键抓包

lamda FIRERPA 上手教程:一个 Python 客户端跑通 Android UI 自动化与一键抓包 lamda FIRERPA 上手教程一个 Python 客户端跑通 Android UI 自动化与一键抓包【免费下载链接】lamdaAndroid Full-Stack Device Control Platform: WebRTC/H.264 remote desktop, UI/OCR/image-matching automation, one-click MITM, built-in Frida, proxy/VPN/frp/P2P networking, MCP/Agent, 160 APIs, designed for multi-device clusters and engineered deployments.项目地址: https://gitcode.com/GitHub_Trending/la/lamdalamdaFIRERPA是一个 Android 全栈设备控制平台lamda-server 直接运行在设备上PC 端用 Python 客户端通过 gRPC 统一调度 UI 自动化、一键 MITM 抓包、内置 Frida 与代理组网。它适合做安全测试、逆向分析和真机批量自动化的开发者。第一步5 分钟跑通链路读完这一节你能在 PC 上装好 lamda 客户端并用 4 行代码验证设备 gRPC 链路在线。① 环境准备PC 端 Python 3.6目标 Android 设备已部署 lamda-serverApp 一键部署、Magisk 模块或手动解压均可服务默认监听 65000 端口② 安装这段命令安装 PC 端客户端库默认不含 Frida 依赖pip install lamda安装完成应看到Successfully installed lamda-x.x。需要 Frida Hook 能力时改用pip install lamda[full]会附带 frida 17.x 依赖。③ 最小验证这段代码连接设备并读取系统设置应用的版本号from lamda.client import Device d Device(localhost) # 连接设备默认端口 65000 app d.application(com.android.settings) print(app.is_installed()) # True 表示设备在线 print(app.info().versionName) # 输出应用版本号跑完应看到True和形如13的版本号说明 PC 到设备的链路已通。第二步确认它是否解决你的问题这一节把常见需求和 lamda 的解法一一对上用它判断功能是否覆盖你的场景。痛点反复启动 App 后点击、输入、滑动真机界面 → 解法d(text..., resourceId..., description...)定位控件直接click()/set_text()痛点抓包要手工装证书、切代理收尾易漏 → 解法一键 MITM 自动装系统根证书、配代理退出时自动恢复网络痛点想用 Frida 但不想单独部署 frida-server → 解法服务端内置最新 Frida远程桌面终端内直接可用痛点多设备批量调度缺统一入口 → 解法client/server 架构160 API 走同一条 gRPC 链路第三步走两个最常见的实战任务读完这一节你能用一个 Python 脚本完成真机搜索全流程并用一条命令完成带自动还原的抓包。实战任务一自动启动 App 并完成一次搜索目标打开淘宝、在搜索框输入关键词并点击搜索全程无需人工操作。这段脚本基于官方示例 examples/search_in_taobao.py完整走一遍启动、定位、输入、点击、等待与滑动from lamda.client import Device import time d Device(localhost) app d.application(com.taobao.taobao) app.stop() time.sleep(1.5) app.start() time.sleep(10) # 等待 App 完全启动 d(description搜索栏).click() # 激活搜索输入 d(resourceIdcom.taobao.taobao:id/searchbtn).wait_for_exists(15*1000) d(resourceIdcom.taobao.taobao:id/searchEdit).set_text(苹果手机) d(resourceIdcom.taobao.taobao:id/searchbtn).click() d(description筛选).wait_for_exists(15*1000) d().swipe() # 简单滑动一页跑完应看到设备自动完成整个搜索流程结果页出现商品列表并完成一次滑动。实战任务二一键 MITM 抓包退出自动还原目标临时抓 App 流量退出后设备网络自动恢复不留手工清理项。这条命令运行仓库自带脚本自动安装系统级根证书、配置代理并启动 mitmweb支持全局或按包名抓包python tools/startmitm.py跑完应看到install cacert与set proxy日志浏览器打开 mitmweb 端口即可看请求按 CtrlC 退出时会自动卸载根证书并关闭代理。第四步把官方示例改造成你的脚本这一节教你只改 5 个关键行把官方搜索示例变成你自己目标应用的脚本。完整骨架如下from lamda.client import Device import time d Device(localhost) # 设备地址 app d.application(com.taobao.taobao) # 目标包名 if not app.is_installed(): # 安装校验 exit(1) app.stop(); time.sleep(1.5) app.start(); time.sleep(10) # 等 App 完全启动 d(description搜索栏).click() # 控件定位 d(resourceIdcom.taobao.taobao:id/searchbtn).wait_for_exists(15*1000) d(resourceIdcom.taobao.taobao:id/searchEdit).set_text(替换成你的关键词) d(resourceIdcom.taobao.taobao:id/searchbtn).click() d().swipe()跑完应看到目标 App 按你的关键词完成搜索行为与任务一一致。关键行说明d.application(com.taobao.taobao)— 改成你目标 App 的包名if not app.is_installed(): exit(1)— 安装/版本校验目标确定后可删掉d(description...)— 按控件属性定位支持 text、resourceId、description 等匹配set_text(...)— 换成你要输入的关键词wait_for_exists(15*1000)— 等待元素出现单位毫秒防止慢设备点空替换清单包名com.taobao.taobao→ 你的目标包名resourceIdsearchEdit/searchbtn→ 你目标 App 的控件 iddescription搜索栏/筛选→ 你目标 App 的控件描述关键词替换成你的关键词→ 你的搜索词地址Device(localhost)→ 你的设备 IP跨机时常见坑位与绕过方法遇到前面的报错时直接在这里查原因和一行解法。Q连接 Device 超时 A设备未部署 lamda-server或地址/端口不对。确认设备服务已启动检查Device()地址与默认端口 65000。Q示例脚本报please install taobao 10.48.0并退出 A设备应用版本与示例要求不一致。设备安装 10.48.0或删掉示例中的版本校验段。Qimport frida报模块缺失 A默认安装不含 frida 依赖。pip install lamda[full]。QWindows 上没有 Python 环境抓不了包 A缺少 Python 运行时。改用自带的startmitm.exe。Qpip 安装报 Requires-Python A本机 Python 低于 3.6。升级到 Python 3.6 后重新安装。Q抓包结束后设备仍走代理或证书残留 A直接 kill 进程跳过了 cleanup。用 CtrlC 正常退出脚本会自动卸载根证书并关闭代理。参考资料命令速查按分组列出写脚本前先查这里。安装类pip install lamda— 安装 PC 端客户端Python 3.6pip install lamda[full]— 附加安装 frida 17.x 依赖连接类Device(localhost)— 连接设备默认端口 65000Device(192.168.x.x, port65000)— 连接指定地址与端口的设备自动化类d.application(pkg)— 获取应用对象app.is_installed() / app.stop() / app.start()— 检查安装 / 停止 / 启动应用d(text..., resourceId..., description...)— 按控件属性定位元素element.click() / element.set_text(...)— 点击 / 输入文本element.wait_for_exists(15000)— 等待元素出现单位毫秒d().swipe()— 执行一次滑动调试类python -m lamda.client -port 65000— 进入交互式控制台已建立设备连接python tools/startmitm.py— 一键 MITM 抓包脚本仓库关键文件examples/search_in_taobao.py — 搜索流程完整示例examples/activity_jump.py — Activity 跳转示例tools/startmitm.py — 一键抓包脚本examples/ — 更多自动化与 tflite 推理示例下一步把 examples/search_in_taobao.py 原样跑通一遍再按替换清单把包名和选择器换成你目标应用的控件。【免费下载链接】lamdaAndroid Full-Stack Device Control Platform: WebRTC/H.264 remote desktop, UI/OCR/image-matching automation, one-click MITM, built-in Frida, proxy/VPN/frp/P2P networking, MCP/Agent, 160 APIs, designed for multi-device clusters and engineered deployments.项目地址: https://gitcode.com/GitHub_Trending/la/lamda创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进