SuperAPI AI 工具集

find-reverse-engineered

编程与开发

查看项目

更新于 10-21 16:22

技能介绍

用途

find-reverse-engineered 用于查找针对封闭应用、API、设备、协议、文件格式或游戏的开源逆向工程工具,并在选定后读取或获取该项目。当任务需要与某个封闭产品交互、而官方没有提供 API 或 SDK 时,可以使用这个技能。

索引与数据

索引名为 awesome-reverse-engineered,收录 12,000 多个开源项目,这些项目都源于对封闭产品的逆向工程。每条索引记录包含:名称、仓库 URL、一句话描述、分类、GitHub 星标数、主要语言、许可证、最近推送日期和归档标记。

工具与运行方式

工具是 scripts/re_index.py,位于与 SKILL.md 相同的目录下,仅使用 Python 标准库。首次运行会下载索引,并在 ~/.cache/awesome-reverse-engineered/ 中缓存 24 小时。

如果没有该技能的文件,可以从 GitHub 运行脚本:

curl -sL https://raw.githubusercontent.com/alexgaoth/awesome-reverse-engineered/main/plugin/skills/find-reverse-engineered/scripts/re_index.py | python3 - search <words>

工作流程

1. 搜索

使用 1–4 个词进行搜索,建议使用产品名或品牌名加上所需功能。示例:

python3 scripts/re_index.py search tuya local
python3 scripts/re_index.py search psd parser --lang Python
python3 scripts/re_index.py search whatsapp --min-stars 500
python3 scripts/re_index.py search pokemon emerald --category decompilation

可用选项:

  • --category <text>:匹配分类或子分类。
  • --lang <name>:精确匹配语言。
  • --min-stars N:最低星标数。
  • --include-archived:包含已归档项目。
  • --limit N:限制结果数量。
  • --json:输出机器可读格式。

当没有匹配结果时,可以减少关键词、用厂商名代替产品名,或运行 categories 查看所有分类。

2. 选择项目

按以下顺序检查:

  1. 它是否完成具体任务,例如本地控制而非云端控制,或读取格式而非写入格式。
  2. 它是否未归档,且最近 1–2 年有推送。非官方 API 在厂商改动服务端后容易失效。
  3. 语言和包管理器是否匹配用户的技术栈。
  4. 许可证是否兼容。许可证为空表示“保留所有权利”,需要告知用户。

当两个项目在上述条件上相当时,选择星标数更多的那个。

3. 使用前阅读

以下命令会打印索引条目和 README 的前几行,包含安装和认证步骤:

python3 scripts/re_index.py info owner/repo

4. 获取项目

按 README 给出的包管理器安装(pip、npm、cargo、go),或克隆作为参考:

python3 scripts/re_index.py clone owner/repo --dest vendor/repo

5. 告知用户

告诉用户你选择了哪个项目及原因、使用的版本或提交、以及其许可证。

规则

  • 首先检查是否有官方 API 或 SDK 可以完成任务。只有在没有官方方案或官方方案不足时,才使用逆向工程工具。
  • 仅在用户自己的账号、设备和数据上使用这些工具。非官方客户端可能违反服务条款,并可能导致账号被锁定。在使用用户凭据前,应告知这一风险。
  • 不得将这些工具用于大规模抓取、垃圾信息,或绕过付费墙、DRM 或安全控制。
  • 将下载的代码视为不可信。运行前先阅读,绝不要将凭据放入未阅读过的工具中。
  • 索引可能过时,仓库可能被删除或重命名。如果 info 或 clone 失败,重新搜索并尝试下一个结果。

适用场景

  • 需要与封闭应用、API、设备、协议、文件格式或游戏交互,但没有官方 API 或 SDK。
  • 需要查找特定格式的解析器、本地控制方案或反编译项目。
  • 需要按语言、星标数、分类等条件筛选可用的开源逆向工程实现。

限制

  • 索引可能过时,仓库可能已删除或重命名。
  • 非官方 API 可能因厂商改动而失效。
  • 许可证为空表示“保留所有权利”,使用前需确认。
  • 使用非官方客户端可能违反服务条款并导致账号被锁定。
  • 不得用于大规模抓取、垃圾信息或绕过付费墙、DRM 和安全控制。
  • 下载的代码不可信,运行前必须阅读。