{"adoption": {"forks": 321, "observed_at": "2026-08-28T04:04:42.205006+00:00", "stars": 1429}, "canonical_url": "https://ross.abutalabs.com/products/review_reverse", "card": {"archived": false, "artifact_type": "learning-resource", "description": null, "domain": ["reverse-engineering", "crawlers", "security", "tutorials", "developer-tools"], "enriched": true, "function": ["web-scraping", "security", "reverse-engineering", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["tcc0lin/Review_Reverse"], "name": "tcc0lin/Review_Reverse", "platform": ["python", "cross-platform"], "pushed_at": "2022-12-08T03:18:44+00:00", "repo": "tcc0lin/Review_Reverse", "stars": 1429, "tags": ["js-reverse-engineering", "anti-crawler-bypass", "sign-parameter-cracking", "cookie-encryption", "font-anti-crawling", "puppeteer", "tutorial-series", "chinese-content", "nodejs"], "topics": ["javascript", "python3", "puppeteer", "web-sign", "cookie"], "urls": [], "use_cases": ["learn how websites generate encrypted sign parameters", "study cookie generation reverse engineering examples", "understand font-based anti-crawling techniques", "bypass anti-content token generation for scraping practice", "learn JS reverse analysis with Puppeteer and Python", "study real-world web anti-bot encryption case studies"], "what_it_is": "A collection of JavaScript reverse engineering case studies and tutorials covering how popular Chinese websites (Taobao, Zhihu, Toutiao, Baidu Index, Maoyan, Boss Zhipin, Pinduoduo, etc.) generate encrypted parameters like sign, cookies, and anti-content tokens. It pairs Python/Puppeteer example code with accompanying blog articles explaining each reverse engineering analysis.", "when_to_avoid": ["you need a production-ready scraping library or maintained tool", "you need a permissively licensed project (it has no license)", "you expect up-to-date code for current site versions (cases date from 2019-2022)", "you want to use it for unauthorized access to these services"], "when_to_choose": ["you want worked examples of JS reverse engineering against real sites", "you are learning how sign/cookie/anti-bot parameters are generated", "you want accompanying tutorial articles with runnable code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/review_reverse", "repo": "tcc0lin/Review_Reverse", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:42.205006+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:16.961257+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "04e68867b45f9ca70e97a1e46b95dc5a033eae6477c12f1dc4d5547394837d94", "fetched_at": "2026-08-28T04:04:42.205006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tcc0lin/Review_Reverse"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2476, "days_push": 1364, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}