逆向工程实战手册 第 93 章

第 93 章 浏览器与桌面自动化(Playwright / OpenReverse)

自动化是安全分析的"手":浏览器自动化(爬取/自动化登录/交互式验证)和桌面应用自动化(操作 IDA/x64dbg 等 GUI 工具)。本章覆盖两大自动化体系的用法、场景与安全应用。配合第 13 章(JS 逆向)和第 49 章(浏览器 V8),构成完整的"浏览器操作面"。

📍 知识点地图 | 主题:浏览器自动化 | 前置:第13章 | 后续:— | 核心概念:Playwright、OpenReverse、UIA/CUA

93.1 两大自动化体系(先分清)

浏览器自动化(Playwright / agent-browser):
  对象: 网页
  能力: 打开页面/点击/填表/爬取/截图/自动化登录
  场景: Web 测试/爬虫/自动化渗透交互/前端逆向辅助

桌面应用自动化(OpenReverse,UIA/CUA 模式):
  对象: Windows 桌面应用(IDA/x64dbg/浏览器 GUI)
  能力: 窗口操作/控件点击/视觉驱动交互/网络观察
  场景: 操作 GUI 工具/桌面应用抓包/UI 驱动的逆向

分工: 网页 → Playwright;桌面 → OpenReverse

93.2 浏览器自动化(Playwright)

核心工作流(推荐模式)

1. 打开页面(new page)
2. 获取可交互元素(自动生成 @e1, @e2... 引用)
3. 用引用操作元素(点击/填表/等待)
4. 完成后关闭(防资源泄漏)

# 页面导航
open <url>                       # 打开页面
wait-for <selector>              # 等待元素出现

# 元素操作(用 @ 引用,避免脆弱选择器)
click @e5                        # 点击
fill @e3 <text>                  # 填表
press Enter                      # 按键
scroll @e2                       # 滚动

# 信息获取
get-text @e1                      # 元素文本
get-url                           # 当前 URL
screenshot                        # 截图

安全分析场景

□ 自动化登录(有凭据时快速进系统)
□ 爬取受交互保护的数据(翻页/点击展开)
□ 自动化渗透验证(登录→操作→确认)
□ 前端逆向辅助(观察页面行为/触发事件)
□ 批量页面状态检查(大规模资产)
□ 验证 PoC(点击触发漏洞点)

注意事项(实战经验)

□ 每次任务后关闭浏览器(防资源泄漏/进程残留)
□ 优先用 @ 引用元素(稳定),避免脆弱的 CSS 选择器
□ 敏感环境注意隐身模式(避免污染真实会话)
□ 长任务设超时/定期检查状态
□ 反爬目标: 需要隐身/指纹伪装(进阶)

93.3 桌面应用自动化(OpenReverse)

三种模式

模式 1: UIA(UI Automation)
  通过 Windows UI Automation 树操作控件
  适用: 标准控件应用(按钮/菜单/输入框)

模式 2: CUA(视觉驱动)
  截图 + 视觉识别定位元素
  适用: 非标准控件/游戏/自绘界面

模式 3: 网络观察(mitmproxy)
  监听应用的网络请求(不操作,只观察)
  适用: 分析应用与服务器的通信

安全分析场景

□ 操作 IDA/x64dbg 等 GUI 逆向工具(自动点击/截图)
□ 桌面应用抓包(自动化 + 网络观察组合)
□ 自动化 UI 渗透测试(桌面应用)
□ 验证类桌面软件自动化交互
□ 工具链自动化(多个 GUI 工具串联)

93.4 自动化在逆向中的综合应用

场景 1: 恶意样本 GUI 交互(自动点击钓鱼 UI/验证行为)
场景 2: IDA 自动化(OpenReverse 操作 GUI + 截图记录)
场景 3: Web 应用渗透(Playwright 自动化登录+操作)
场景 4: 前端逆向(Playwright 触发事件观察请求)
场景 5: 桌面应用协议分析(OpenReverse 网络观察)

93.5 检查清单

□ 场景选择(网页 → Playwright;桌面 → OpenReverse)
□ 页面/窗口打开
□ 元素定位(@ 引用)
□ 操作执行(点击/填表/等待)
□ 信息获取(文本/URL/截图)
□ 资源清理(关闭/释放)
□ 反爬/隐身处理(如需)
□ 记录: 操作日志+截图(证据)

动手练习

  1. 用 Playwright 对一个测试网站完成"登录→点击→截图"全流程。
  2. 用 OpenReverse 的 UIA 模式操作一个桌面工具(如记事本),完成输入+保存。
  3. 用 OpenReverse 网络观察模式分析一个桌面应用的 HTTP 请求。
  4. 组合练习:Playwright 自动化登录 → 前端逆向(第 13 章)观察签名生成。

深入阅读

  • 仓库:skills/browser-automation/SKILL.md(浏览器+桌面自动化全量)
  • 仓库:skills/browser-automation/references/playwright-cheatsheet.md(命令速查)
  • 仓库:skills/js-reverse/(前端逆向联动)
  • 仓库:skills/attack-chain/SKILL.md(自动化在攻击链)