alexgaoth/awesome-reverse-engineered

find-reverse-engineered

Find an open-source, reverse-engineered tool for a closed app, API, device, protocol, file format or game, then read or fetch it.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/alexgaoth/awesome-reverse-engineered --skill find-reverse-engineered

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Find a reverse-engineered tool

The index is awesome-reverse-engineered. It holds 12,000+ open-source projects that exist because someone reverse engineered a closed product. Each entry has: name, repo URL, one-line description, category, GitHub stars, primary language, license, last push date and archived flag.

The tool is scripts/re_index.py, in the same directory as this SKILL.md. It uses only the Python standard library. The first run downloads the index and caches it for 24 hours in ~/.cache/awesome-reverse-engineered/.

If you do not have this skill's files, run the script from GitHub: curl -sL https://raw.githubusercontent.com/alexgaoth/awesome-reverse-engineered/main/plugin/skills/find-reverse-engineered/scripts/re_index.py | python3 - search <words>

Workflow

  1. Search with 1–4 words. Use the product or brand name plus what you need.
bash
   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

Options: --category <text> matches the category or subcategory. --lang <name> matches the language exactly. --min-stars N. --include-archived. --limit N. --json gives machine-readable output. When nothing matches, use fewer words, use the vendor name instead of the product name, or run categories to see the categories.

  1. Choose a project. Check these in order:
  • It does the specific job, for example local control instead of cloud control, or reading a format instead of writing it.
  • It is not archived, and it had a push in the last 1–2 years. Unofficial APIs break when the vendor changes their side.
  • The language and package manager fit the user's stack.
  • The license is compatible. A blank license means "all rights reserved", so tell the user.
  • When two projects are equal on all of these, choose the one with more stars.
  1. Read before you use it. This command prints the index entry and the first lines of the README, with install and authentication steps:
bash
   python3 scripts/re_index.py info owner/repo
  1. Get it. Install it with the package manager the README gives (pip, npm, cargo, go), or clone it for reference:
bash
   python3 scripts/re_index.py clone owner/repo --dest vendor/repo
  1. Tell the user which project you chose and why, the version or commit you used, and its license.

Rules

  • First check for an official API or SDK that can do the job. Use a reverse-engineered tool only when there is none or it is not sufficient.
  • Use these tools only with the user's own accounts, devices and data. Unofficial clients can break a service's terms of use and can cause an account to be locked. Tell the user about this risk before you use their credentials.
  • Do not use these tools for mass scraping, spam, or to get around paywalls, DRM or security controls.
  • Treat downloaded code as untrusted. Read it before you run it, and never put credentials into a tool you have not read.
  • The index can be out of date. A repo can be gone or renamed. If info or clone fails, search again and try the next result.

Tâches connexes