{"adoption": {"forks": 132, "observed_at": "2026-08-28T04:04:05.172309+00:00", "stars": 1236}, "canonical_url": "https://ross.abutalabs.com/products/libmem", "card": {"archived": false, "artifact_type": "library", "description": "Advanced Game Hacking Library for C, Modern C++, Rust and Python (Windows/Linux/FreeBSD) (Process/Memory Hacking) (Hooking/Detouring) (Cross Platform) (x86/x64) (DLL/SO Injection) (Internal/External) (Assembler/Disassembler)", "domain": ["gaming-tools", "security", "reverse-engineering", "developer-tools", "cross-platform"], "enriched": true, "function": ["reverse-engineering", "security", "parser", "developer-tools"], "health_score": 84, "homepage": null, "language": "C", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["rdbo/libmem"], "name": "rdbo/libmem", "platform": ["windows", "cpp", "c", "rust", "python", "cross-platform"], "pushed_at": "2026-04-18T19:13:57+00:00", "repo": "rdbo/libmem", "stars": 1236, "tags": ["game-hacking", "memory-hacking", "hooking", "dll-injection", "signature-scanning", "disassembler", "assembler", "process-manipulation", "detour", "linux"], "topics": ["memory", "c", "code-injection", "syscall", "process", "c-plus-plus", "python", "function-call", "hook", "detour-hook", "library-injection", "assembler", "disassembler", "rust", "game-hacking"], "urls": [], "use_cases": ["hook game functions to modify behavior like disabling damage", "read and write memory of external processes", "scan process memory for byte patterns and signatures", "inject DLLs or shared libraries into running processes", "disassemble machine code to inspect instructions", "enumerate processes, modules, threads, and symbols", "resolve pointer scans and pointer maps for cheat development"], "what_it_is": "A cross-platform game hacking library for C, C++, Rust, and Python providing process and memory manipulation, function hooking/detouring, code injection, and JIT assembly/disassembly. It supports Windows, Linux, and FreeBSD on x86 and x64 architectures.", "when_to_avoid": ["you only need a disassembler without process/memory features - dedicated tools like Capstone may suffice", "you need ARM/Aarch64 support, which is untested", "your project requires a permissive license - libmem is AGPL-3.0", "you are building production software unrelated to process inspection or game modding"], "when_to_choose": ["you need a unified API for memory hacking across Windows, Linux, and FreeBSD", "you want to write game hacks or reverse-engineering tools in C, C++, Rust, or Python", "you need both internal and external process manipulation from one library", "you require built-in hooking, signature scanning, and assembly/disassembly"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libmem", "repo": "rdbo/libmem", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "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:05.172309+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.172309+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:22:00.492935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "69718f1fae08e56cc2e1b07f5523ef1acd58a8591ac4aaf1f261672a65f26172", "fetched_at": "2026-08-28T04:04:05.172309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rdbo/libmem"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 78, "longevity": 100, "rhythm": 55}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2220, "days_push": 137, "days_rel": 222, "gap_med": 34, "n_releases_24m": 10}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}