Skip to content

Commit e5ce121

Browse files
committed
Amend release notes
1 parent 7d5567a commit e5ce121

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

  • LANCommander.Interposer.Documentation/Releases

LANCommander.Interposer.Documentation/Releases/1.0.1.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,20 @@ import ReleaseDownloads from '@site/src/components/ReleaseDownloads';
1717

1818
The interposer now loads `.dll` and `.asi` files from `.interposer\Plugins\` on startup. Plugins are loaded after all built-in hooks are active, so they can safely install their own hooks. Place any compatible plugin alongside your config directory and it will be picked up automatically. Successful loads are recorded in the session log as `[PLUGIN LOAD]`; failures include the Win32 error code.
1919

20+
A plugin API is exposed via `GetProcAddress` — no link-time dependency on the interposer is required. The following exports are available:
21+
22+
| Export | Description |
23+
|---|---|
24+
| `InterposerLog` | Write a line to the session log from a plugin |
25+
| `InterposerGetConfigString` | Read a scalar value from `Config.yml` by dot-separated path |
26+
| `InterposerGetUsername` | Get the effective player username |
27+
| `InterposerSetRegistryValue` | Inject a `REG_SZ` value into the virtual registry by full key path |
28+
| `InterposerSetRegistryValueBySuffix` | Inject a `REG_SZ` value into all virtual keys matching a path suffix |
29+
30+
Log verbs are now normalized automatically: any `[`/`]` brackets and padding are stripped, the content is truncated to 16 characters, and the verb is re-wrapped as `[verb]` right-padded to 18 characters. This applies to all built-in hooks and to any plugin using `InterposerLog` — no manual formatting required.
31+
32+
A **CD Key plugin** (`LANCommander.Interposer.Plugin.CDKey.dll`) is included. It generates a deterministic CD key from the player username using a configurable mask and injects it into a virtual registry value, giving each player on a LAN a unique but consistent key without manual entry.
33+
2034
### Registry Emulation: WOW64 VirtualStore Handling
2135

2236
Fixed an edge case where registry operations on paths in the virtual store could bypass emulation on non-elevated processes. Windows UAC registry virtualization silently redirects writes to `HKLM\SOFTWARE\...` from non-elevated processes to `HKCU\Software\Classes\VirtualStore\MACHINE\...`. If a handle to the VirtualStore path reached the hooks — for example, a handle opened before injection or resolved via `NtQueryKey``InVirtualSpace` would return false and the operation would fall through to the real registry. Both the `HKEY_CURRENT_USER\...\VirtualStore\MACHINE\` and `HKEY_USERS\<SID>\...\VirtualStore\MACHINE\` path forms are now normalized to their canonical `HKEY_LOCAL_MACHINE\` equivalents before any virtual space checks.

0 commit comments

Comments
 (0)