Repository navigation
Libmem.NET v2.4.1
Libmem.NET v2.4.1 is a Windows x64/x86 / .NET 8 official release of the reusable C++/CLI wrapper around the pinned rdbo/libmem native library.
Release highlights
Fixed
- Keep
AssemblyManager.ReadAlignedCodereliable when complete instructions end at a readable page boundary followed byPAGE_NOACCESS; use bounded partial-read decoding without changingCodeLength. - Reject stale process identities (PID plus process start time) before remote memory allocation/free, page protection, Hook installation, and module load/unload. Align static and session-Manager paths; add deterministic external-process regression coverage.
- Make the failed
HookHandle.Removeexternal-process trampoline regression deterministic by setting the still-allocated trampoline page toPAGE_NOACCESS, rather than relying on a freed address staying unreadable.
Compatibility and limitations
- Compatible 2.4.x maintenance only: unchanged Public API, native libmem revision, Windows x64/x86 / .NET 8 targets, multi-architecture NuGet layout, and existing Hook/VMT/Injector APIs.
- Process-identity preflights reduce stale-PID risk but do not make native PID-only calls atomic: target exit or PID reuse between validation and the native call remains possible. No handle-bound native redesign is included.
- No ARM64, AnyCPU, cross-bitness or game-specific features are added.
Platform and compatibility
- OS / architectures: Windows x64 and Windows x86
- Managed runtime: .NET 8
- Native backend: pinned rdbo/libmem revision
- AnyCPU: not supported; consumers must select x64 or x86 explicitly
Downloads
- Libmem.NET-windows-x64.zip — runtime package for Windows x64
- Libmem.NET-windows-x64.zip.sha256 — SHA-256 checksum for the x64 archive
- Libmem.NET-windows-x86.zip — runtime package for Windows x86
- Libmem.NET-windows-x86.zip.sha256 — SHA-256 checksum for the x86 archive
- Libmem.NET.2.4.1.nupkg — one PackageReference package carrying both architectures; nuget.org publication is a separate step
x64 package contents
CHANGELOG.mdIjwhost.dllLICENSELibmem.NET.dllLibmem.NET.pdbLibmem.NET.xmlMIGRATION.mdTHIRD_PARTY_NOTICES.mdVERSIONlibmem.dllmanifest.json
x86 package contents
CHANGELOG.mdIjwhost.dllLICENSELibmem.NET.dllLibmem.NET.pdbLibmem.NET.xmlMIGRATION.mdTHIRD_PARTY_NOTICES.mdVERSIONlibmem.dllmanifest.json
Integrity and provenance
- x64 archive SHA-256:
847d696319c783f56b713d40b7ac41ffa3d5a930a265f7ec542eaca91c8a990e - x86 archive SHA-256:
f1c65e651d3271ed6fc6ca086f748f17a57a5b8561363b66535f8bfdee13ff05 - Repository commit:
036556f6a508edee9401fe02fe0a8f7cdca39083 - Pinned libmem commit:
a07c9942bf1358dabcc83eb0cd072736c749d7f8 - Both runtime manifests record each packaged file's size and SHA-256.
- Release publication verifies both package versions, repository commit, platform, configuration, archive contents, and checksums before upload.
Documentation
Libmem.NET remains a general-purpose libmem wrapper. Application snapshots, caches, game state, IPC, and other product-specific models belong in consuming projects.