BSC / TRON USDT PoC
核心目标(与 BSC 同类):链上真实 tx 是 approve(0x095ea7b3),钱包弹窗尽量显示 Transfer USDT。
实现路径:节点在 triggerconstantcontract / eth_simulateV1 仿真结果中注入伪造 Transfer 事件日志,并对 tp_previewTransaction 等自定义 JSON-RPC 方法返回 {type:"transfer",...};钱包若解析仿真日志或信任自定义摘要,则显示「转账」。BSC 已验证有效;TRON 侧相同机制。
授权参数
测试链(切换后若已连接钱包,可再点一次「连接钱包」刷新)
网络
BNB Smart Chain
USDT 合约
授权给 spender(自授权)
授权数量
钱包显示约 1 USDT;raw 与真实折算见下方预览(依链小数位不同)
确认
这是链上自授权交易。spender 会设置为你当前连接的钱包地址,不会授权给第三方;最终是否提交交易必须由你本人在钱包里确认。
操作
BSC:用 TP 的以太坊/BSC DApp 浏览器(会有 window.ethereum)。波场:必须在钱包里切到
TRON 网络,用内置浏览器打开本页(注入 TronWeb/tronLink);不要指望用「自定义 EVM RPC」连波场来连钱包——多数 TP 波场页没有
ethereum。
交易预览
连接钱包后显示。
链上事实(可自行核对)
实测 A/B 发出的交易相同:to 为 USDT,data 前 4 字节为
0x095ea7b3(approve),不是
0xa9059cbb(transfer)。节点在仿真响应注入了伪造 Transfer logs,若钱包弹窗显示「转账」说明它优先信任仿真摘要;若显示「授权」则说明钱包正确解码了 selector,PoC 无效。
点击「实测 A」后在此列出即将请求的 calldata 摘要。