系统 1:1 复刻:方法论与工具

把网站或软件「原样重做一遍」不是截图照画:动态+静态双轨逆向取证、每页五件套、结构性重写与独立审查闭环——完整呈现系统 1:1 复刻的方法论与配套开源工具。

系统 1:1 复刻方法论封面:双轨逆向与审查闭环流程示意内容封面

先直接回答:系统 1:1 复刻是一门可度量、可审查、可断点续跑的工程:先用动态+静态双轨逆向把目标系统的真实行为取证为「唯一事实源」,再做界面逐项对照还原与功能端到端重建,最后由独立审查和终验硬指标判定完成——而不是截图照着画。

文章目录

本文整理自公开原文《系统 1:1 复刻:方法论与工具》(原始出处见文末「原始资料链接」),保留原文完整章节与文字,不做摘要替代;整理者补充的说明一律以「整理者注」标出。

把一个网站、一个桌面软件“原样重做一遍”,听起来像玄学,其实是一门可以度量、可以审查、可以断点续跑的工程。 本文用普通人能懂的方式讲清楚:为什么要系统复刻、这套方法论怎么运转、以及配套的开源工具怎么装。

一、为什么要“系统 1:1 复刻”

你大概率遇到过这些场景:

  • 接手一个没有文档的老系统:前人离职了,代码能跑但没人说得清全部功能;想改造,先得有一份“它到底有什么”的完整清单。
  • 对标竞品做产品:老板说“照着 XX 做一个”,但“照着”两个字背后是几十个页面、上百个按钮、无数状态流转——漏一个就是上线后的客诉。
  • 迁移与重建:老技术栈要换新,界面和交互必须原样保留,用户才不会迷路。
  • 安全研究:搞清楚一个系统“还能怎么用”,先得把它“是什么”弄清楚。

这些事的共同点:目标系统的全貌散落在界面、交互和网络行为里,没有人能靠看一眼就说全。 “复刻”是把“看懂”变成“做出来”的过程——做不出来,就说明还没真的看懂。

但要害在于:截图照着画不叫复刻。 界面像了,功能跑不通;按钮都在了,点下去没反应。真正的 1:1 复刻有三根支柱,缺一根都不算完成:

  1. 逆向取证做得实——先搞清楚系统真实的行为,而不是凭印象猜;
  2. 界面还原做得像——布局、文案、配色逐项对照通过;
  3. 功能逻辑跑得通——每个功能端到端真实可运行,不是静态假象。

二、方法论精讲:双轨逆向、五件套与审查闭环

下面这套方法沉淀自一个真实的完整复刻项目:22 小时、11 个建造批次、284 条终验断言全部通过。它把复刻拆成六个阶段,每个阶段有明确门禁。

整理者注:“22 小时、11 个建造批次、284 条终验断言全部通过”是原文对方法沉淀项目的记录,本站本次导入整理时未重新执行复刻、未重新核验这组数字,请按原文记录语境理解。

1. 双轨逆向:动态 + 静态,孤证不立

  • 动态逆向:用浏览器自动化(RPA)真实运行目标系统,像用户一样点穿每个页面、每次跳转,把真实行为记录下来。
  • 静态逆向:完全不运行目标,只分析它的代码和资源包,从另一个角度推断它“应该”有什么。

两轨交叉印证是关键纪律:孤证不立。动态轨看到的行为要有静态证据支撑;静态分析推断出的隐藏功能,要有代码级证据。只信其中一轨,就会漏掉菜单里不显示但代码里存在的能力,或者把超时误判成“没有请求”。

2. 每页五件套:让“看过”变成“可复核的证据”

动态采集阶段,每个页面固定留下五样东西:截图、DOM 结构存档、交互日志、接口清单、状态流转记录。这相当于给目标系统做“证据链”——后面每一批建造、每一次审查,都回到这套材料上核对,而不是凭记忆。

配套一条硬规矩:材料是唯一事实源。哪怕发现任务书自己写错了,也以采集材料为准。

3. 结构性重写:相似度必须低于 40%

复刻不等于抄。所有代码必须结构性重写——换数据结构、换控制流、换组织方式,剥掉注释后与原代码的相似度要压到 40% 以下,且不允许出现成段的业务逻辑重合。这是有工具可以量化审查的(后文介绍 similarity 工具),不是靠自觉。

整理者注:“相似度低于 40%”“无成段业务逻辑重合”是这套方法论内部的工程质量检查口径,用来约束“结构性重写而非照抄”,并有配套工具量化审查。它是工程自查指标,不构成、也不替代版权合法性等法律层面的判断标准。

4. 审查闭环:建造的人不审查自己

每批建造完成后,由没有参与建造的独立角色做审查,不通过就打回返工,复验时只看失败项和波及面。这是从传统工程里借来的“建造/审查分离”,在 AI 协作场景下尤其重要——同一个会话既当运动员又当裁判,问题会被自己的叙述遮住。

5. 终验:全站逐按钮盘点

收官前做一次全站盘点:枚举每个页面的每一个可交互元素,逐一核对行为,缺陷必须清零;配合“0 页面报错、非豁免的 4xx/5xx 为 0、回归断言 100% 通过”三条硬指标。所谓“做完了”,由这组数字说了算。

6. 两条容易忽视的纪律

  • 只读红线:对目标系统只做只读浏览,涉及提交、支付、发送类操作只采集到确认态就取消——研究行为不越界。
  • 合规边界:复刻产物仅供内部对标学习,不对外发布、不商用,也不声称“恢复了原始源码”。

三、工具介绍:「系统 1:1 复刻」skill

上面的方法论不是停留在文档里,它已经做成了一个开源的 Agent Skill(智能体技能包):reverse-system-replica-engineer,配合 ZCode 等 Agent 环境使用,Agent 读取 SKILL.md 后会按六阶段流程自动推进整个复刻项目。

整理者注:按当前仓库(版本 1.2.2)的 README 与 SKILL.md,该 skill 显示名已更名为「逆向系统复刻工程师」,仓库与目录名现为 reverse-system-replica-engineer;端到端自检 validate 也已升级为 37 条断言。工具名、断言数量等以仓库当前公开文件为准。

它能做什么

  • 环境自检(preflight):一条命令检查 Node、浏览器内核等依赖,缺什么自动装什么,装完回读验证——新机器十分钟就绪;
  • 项目骨架(scaffold):一条命令生成标准复刻项目目录:GOAL 计划模板、逆向采集目录约定、进度台账;
  • 端到端自检(validate):对内置的演示靶场跑一遍迷你“采集→建造→审查”闭环,二十多项断言全绿才放行——证明工具链在这台机器上真实可用;
  • 相似度审查(similarity):量化比对复刻代码与原代码,输出相似度百分比与成段重合检测,让“结构性重写”可审查;
  • 跨机一致性(sync-check):全量 sha256 比对,保证多台机器上的技能副本完全一致。

怎么安装

不需要任何编译,clone 即用(依赖会自动装):

git clone https://github.com/simonsxxs/reverse-system-replica-engineer.git
# 国内镜像:git clone https://gitee.com/simonsxx/reverse-system-replica-engineer.git
cd reverse-system-replica-engineer
node scripts/preflight.mjs   # 环境自检 + 自动装依赖
node scripts/validate.mjs    # 端到端自检,全绿即就绪

之后把目录放进 Agent 的技能发现路径(如 ~/.agents/skills/reverse-system-replica-engineer/),对 Agent 说“帮我复刻 XX 系统”即可触发完整流程。

四、链接指引

五、适用范围与法律、工程边界

本节为整理者补充,帮助读者正确使用上面的方法论:

  • 资料整理口径:本文是公开原文的完整整理版。文中涉及的项目时长、断言数量、工具能力均来自原文与配套仓库公开文件的记录,本站本次导入整理未执行任何复刻操作,也未重新运行工具链验证,相关内容不作为本轮实测结论。
  • 工程口径不等于法律标准:文中“代码相似度低于 40%”“无 ≥7 行成段业务逻辑重合”“0 页面报错”等阈值,全部是这套方法论内部的工程质量检查口径,用于让“复刻”可度量、可审查。它们不是版权或其他法律问题的判断标准,也不能替代专业法律意见。
  • 先授权、再研究:对任何目标系统执行复刻前,应确认自己有权研究和复制该目标;过程遵守原文的只读红线——提交、支付、发送类操作只采集到确认态即取消,消耗类操作默认不触发。
  • 产物用途边界:复刻产物仅供内部对标学习,不对外发布、不商用,也不声称“恢复了原始源码”。
  • 本文是方法论与工具的资料整理,不构成对任何第三方系统实施复刻的建议或授权;请读者在合法、授权范围内使用这套方法。

六、原始资料链接


关于作者

原文署名 simon,一个不懂代码的 AI 极客,与本站公开作者「半仙赛蒙」为同一人。

用 AI 造工具、做拆解、写报告。欢迎加微信交流 AI 安全、Vibe Coding 与自动化实践(备注“网站交流”)。

参考资料与内容状态

参考资料与实质更新记录见正文。

Let's talk

交流这篇文章

有想法、不同经验或疑问,欢迎联系交流。