{"adoption": {"forks": 392, "observed_at": "2026-08-28T04:08:51.513153+00:00", "stars": 4501}, "canonical_url": "https://ross.abutalabs.com/products/loadlibrary", "card": {"archived": false, "artifact_type": "library", "description": "Porting Windows Dynamic Link Libraries to Linux", "domain": ["security", "reverse-engineering", "developer-tools", "windows"], "enriched": true, "function": ["reverse-engineering", "fuzzing", "security", "parser"], "health_score": 29, "homepage": null, "language": "C", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["taviso/loadlibrary"], "name": "taviso/loadlibrary", "platform": ["cpp"], "pushed_at": "2025-04-10T12:30:38+00:00", "repo": "taviso/loadlibrary", "stars": 4501, "tags": ["pe-loader", "dll-compatibility", "windows-dll", "binary-compatibility", "malware-analysis", "antivirus", "gdb-debugging", "hooking", "linux"], "topics": ["linux", "porting", "windows"], "urls": [], "use_cases": ["run windows dll on linux", "fuzz windows antivirus engine on linux", "scan files with windows defender engine on linux", "load and call windows library functions from linux program", "debug windows dll code with gdb on linux", "hook and patch windows dll at runtime", "scale up fuzzing of self-contained windows libraries in containers"], "what_it_is": "A library that lets native Linux programs load and call functions from Windows DLLs via a custom PE/COFF loader with a dlopen-like API. It includes a demonstration port of the Windows Defender malware scanning engine (mpengine) to Linux.", "when_to_avoid": ["You need to run full Windows applications with GUIs or complex OS dependencies rather than self-contained DLLs", "You want a general-purpose Windows compatibility layer like Wine for running end-user software", "Your target DLL requires many unimplemented Windows API imports and you cannot write the stubs yourself"], "when_to_choose": ["You need to fuzz or analyze self-contained Windows libraries (codecs, decompressors, virus scanners, image decoders) on Linux without a Windows VM", "You want to run the Windows Defender mpengine scanner natively on Linux for malware research or scanning", "You need gdb debugging, ASAN/Valgrind support, or runtime hooking while testing Windows binary code on Linux"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/loadlibrary", "repo": "taviso/loadlibrary", "role": "main", "score": 39}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "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:08:51.513153+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.513153+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:20:25.085628+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c7eaf4547933dd35af3f063cfa57cacaab172335d2b114096bd3b4fa917e561a", "fetched_at": "2026-08-28T04:08:51.513153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/taviso/loadlibrary"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 15, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3389, "days_push": 510, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 39, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}