{"adoption": {"forks": 607, "observed_at": "2026-08-28T04:06:55.418800+00:00", "stars": 2483}, "canonical_url": "https://ross.abutalabs.com/products/dnlib", "card": {"archived": false, "artifact_type": "library", "description": "Reads and writes .NET assemblies and modules", "domain": ["developer-tools", "programming-languages", "security", "reverse-engineering"], "enriched": true, "function": ["parser", "serialization", "developer-tools"], "health_score": 84, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["0xd4d/dnlib"], "name": "0xd4d/dnlib", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-06-02T17:07:19+00:00", "repo": "0xd4d/dnlib", "stars": 2483, "tags": ["dotnet-assemblies", "il-inspection", "assembly-rewriting", "metadata", "obfuscation"], "topics": [], "urls": [], "use_cases": ["read and parse .NET assembly metadata from a dll or exe", "modify IL code in a .NET assembly and write it back", "analyze obfuscated Unity/Mono assemblies", "build a .NET deobfuscator or assembly patcher", "inspect types and methods in a .NET module programmatically", "rewrite .NET assemblies without recompiling source"], "what_it_is": "dnlib is a C# library that reads and writes .NET assemblies and modules, including method bodies and IL code. It supports loading modules from files, byte arrays, streams, or memory, and saving them back, including C++/CLI native assemblies.", "when_to_avoid": ["you only need to load and execute assemblies at runtime (use System.Reflection)", "you need decompilation to C# source rather than IL-level access", "you're working with non-.NET binaries"], "when_to_choose": ["you need programmatic read/write access to .NET assembly metadata and IL", "you're building tools like deobfuscators, patchers, or analyzers for .NET binaries", "you need to handle Mono/Unity or C++/CLI assemblies"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dnlib", "repo": "0xd4d/dnlib", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "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:06:55.418800+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.418800+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:28:05.784231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c0a875ca8a6b1b6db9c636d019493c0cf76981535b70b97ce06805cc770fadb", "fetched_at": "2026-08-28T04:06:55.418800+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0xd4d/dnlib"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 85, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4524, "days_push": 92, "days_rel": 475, "gap_med": null, "n_releases_24m": 1}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}