Skip to main content

Interposer 1.2.0 Release Notes

Downloads

Loading release downloads…

What's Changed

OS Version Spoofing

For certain games that require a specific Windows version can now be spoofed. The new OsVersion section of the config reports a version of your choosing:

OsVersion:
Version: WindowsXP

Presets cover Windows 2000 through Windows 11, each carrying the last shipped build and service pack of that release. Names are matched loosely, so Windows 8.1, windows8.1 and Windows81 all select the same entry. Major, Minor, Build, ServicePack and ProductType override individual fields of the preset, or supply all of them with Version: Custom:

OsVersion:
Version: WindowsXP
Build: 2180 # Windows XP as it shipped, before any service pack

Only GetVersion, GetVersionExA, GetVersionExW and ntdll!RtlGetVersion are hooked. This allows the spoofing of a specific version of Windows without having to rely on the built-in app compatiblity layer which might introduce unwanted compatiblity shims or force elevated execution.

Set Logging.OsVersion: true to see what will be reported and which API asked for it. See the OS Version documentation for the full reference.

Path Tokens in File Redirects

%TOKEN% now works in a redirect's Pattern as well as its Replacement, and resolves more than just environment variables. Tokens are looked up in order: any Windows environment variable (%APPDATA%, %USERPROFILE%, %TEMP%, …), then a known folder that Windows tracks but the environment does not (%SAVEDGAMES%, %DOCUMENTS%, %MYDOCUMENTS%, %MYGAMES%, %DESKTOP%, %PICTURES%, %MUSIC%, %VIDEOS%), then %GAMEDIR% for the running executable's directory and %INTERPOSERDIR% for the directory holding the DLL:

FileRedirects:
- Pattern: '%APPDATA%\\My Game\\(.+)'
Replacement: '%SAVEDGAMES%\My Game\$1'

For more information, see File Redirection for the full reference.

Layered Registry Files

Registry.Files replaces the single .interposer\Registry.reg with an ordered stack. Each file is loaded on top of the one before it, so a later file wins wherever two of them define the same value:

Registry:
Files:
- '.interposer\Registry.reg'
- '%SAVEDGAMES%\MyGame\Registry.reg'

See Registry Emulation for details.

Isolated Registry Mode

By default the virtual store owns only the keys the .reg files actually name, and everything else passes through to the real Windows registry. Registry.Isolated makes the store authoritative for the whole registry instead:

Registry:
Isolated: true

See Registry Emulation for details.