Repository navigation
v1.1.0
这里是 stellaris_mod_injector.exe 的代理 DLL 版,一共五种:
| 文件 | 顶替的系统 DLL | 游戏用它做什么 |
|---|---|---|
dxgi.dll |
显示/DXGI 工厂 | 建 DXGI 工厂 |
d3d11.dll |
Direct3D 11 | 建设备 |
d3dcompiler_47.dll |
DirectX 着色器编译器 | 编译 HLSL(第 4 个导入) |
version.dll |
文件版本信息 | 读 exe 版本号 |
winmm.dll |
多媒体/计时器 | 手柄与计时器(SDL 也用) |
随便挑一个放进游戏根目录(和 stellaris.exe 同级),游戏启动时 Windows 会
优先加载它。它做两件事:
- 对游戏冒充那个系统 DLL:所有导出(含序号)都原样转发到
C:\Windows\System32\里的真文件,游戏察觉不到区别; - 加载
injected_mods:等游戏自己起来(加载器线程不再在挂接的一瞬间创建,
而是等到游戏自己的 CRT 初始化完成),把
injected_mods\*.dll按文件名顺序逐个LoadLibrary进游戏进程 ——
和注入器做的事完全一样,只是从进程内部做。
不需要运行
stellaris_mod_injector.exe,不修改游戏的任何文件。
注入器和它也不冲突:LoadLibrary对已加载的模块直接返回旧句柄,DllMain 只跑一次。