NLlemain/Phantom-Clipper

GitHub: NLlemain/Phantom-Clipper

基于 Chrome DevTools Protocol 注入的隐蔽浏览器级加密货币地址劫持工具,通过 Hook DOM 在页面渲染前替换目标地址和二维码。

Stars: 0 | Forks: 0

# PhantomClipper 一个隐蔽的、基于浏览器的加密货币地址拦截器,利用 Chrome DevTools Protocol (CDP) 注入实现。 ## 演示 ### 视频演示 ![演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/bc1eb33a22081930.gif) ### 截图 | 替换前 | 替换后 | |--------|-------| | ![替换前](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9ba6959ee7081931.png) | ![替换后](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/ffb38714b4081932.png) | DOM 中的地址被替换 + 二维码被替换为狗的图片。 ## 分析 - [VirusTotal](https://www.virustotal.com/gui/file/795d2c26eeb66b365c15659d7811bddd7422569402a4a7b4f87beda5389a9e5c/detection) - [Hybrid Analysis](https://hybrid-analysis.com/sample/795d2c26eeb66b365c15659d7811bddd7422569402a4a7b4f87beda5389a9e5c) ## 工作原理 传统的剪贴板劫持工具会监控系统剪贴板。而此工具则直接注入到浏览器中: 1. **连接** - Rust 应用程序连接到浏览器的 CDP WebSocket (端口 9222) 2. **注入** - 通过 `Runtime.evaluate` 和 `Page.addScriptToEvaluateOnNewDocument` 发送 JS 负载 3. **Hook** - JS 覆盖 DOM setter 方法: - `Text.prototype.nodeValue` - `Element.prototype.innerHTML` - `HTMLElement.prototype.innerText` 4. **替换** - 当任何网站使用加密货币地址更新 DOM 时,Hook 会拦截它,并在其渲染之前将其替换为您的地址 5. **扫描** - 使用低足迹的 `MutationObserver` 映射到防抖的 `TreeWalker`,以持续捕获静态内容而不会冻结布局。 6. **二维码门控与 SPA 安全** - 严格门控二维码替换:复杂的二维码(密集的几何 `` 路径、正方形 `` 节点以及 `data:image/` base64 正方形)*仅*在页面上首先确认并劫持了匹配的加密货币地址时才会被覆盖,从而防止在非加密货币网站上出现误报。支持按币种类型动态代理不同的二维码图像。将文本边界覆盖限制在 `<150` 个字符内,以保护现代单页应用程序 (SPA) 的路由(例如 YouTube)。 用户在页面上看到的是您的地址。当他们复制它时,他们复制的是您的地址。 ## 支持的地址 | 币种 | 正则表达式模式 | |------|---------------| | BTC | `bc1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{39,59}` (Bech32) 或 `[13][a-km-zA-HJ-NP-Z1-9]{25,34}` (Legacy/P2SH) | | ETH | `0x[a-fA-F0-9]{40}` | | SUI | `0x[a-fA-F0-9]{64}` | | SOL | `[1-9A-HJ-NP-Za-km-z]{32,44}` (Base58) | | LTC | `ltc1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{39,59}` (Bech32) 或 `[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}` (Legacy) | | DOGE | `D[5-9A-HJ-NP-U][1-9A-HJ-NP-Za-km-z]{32}` | | DASH | `X[1-9A-HJ-NP-Za-km-z]{33}` | | TON | `(EQ\|UQ)[a-zA-Z0-9_-]{46}` | | TRX | `T[1-9A-HJ-NP-Za-km-z]{33}` | ETH 模式可匹配所有 EVM 链(Base、Arbitrum 等)以及 ERC-20 代币(USDC、USDT)。 ## 设置 1. 在 `src/injector.rs` 中添加您的钱包地址 2. 构建:`cargo build --release` 3. 使用调试端口启动浏览器:`msedge.exe --remote-debugging-port=9222` 4. 运行:`./target/release/phantom-clipper.exe` 浏览器必须使用 `--remote-debugging-port` 标志启动,否则应用程序将尝试使用该标志重新启动 Edge。 ## 文件 ``` src/ main.rs - Entry, spawns browser monitor + tray threads browser.rs - CDP connection, tab tracking, injection calls injector.rs - WebSocket commands + JS payload system_tray.rs - Windows tray icon ```
标签:CDP注入, Chrome DevTools Protocol, DOM操作, JavaScript注入, MutationObserver, QR码替换, Rust, Web安全, 代理, 剪贴板劫持, 加密货币劫持, 可视化界面, 后门, 地址替换, 恶意软件, 攻击路径可视化, 数字货币盗窃, 数据可视化, 无文件攻击, 端点可见性, 网络流量审计, 自动化分析, 蓝队分析, 跨站脚本, 通知系统, 黑产, 黑客工具