如何把 ASI 插件加载进任意游戏:Ultimate ASI Loader 配置与使用 如何把 ASI 插件加载进任意游戏Ultimate ASI Loader 配置与使用【免费下载链接】Ultimate-ASI-LoaderThe Ultimate ASI Loader is a proxy DLL that loads custom .asi libraries into any game process.项目地址: https://gitcode.com/gh_mirrors/ul/Ultimate-ASI-LoaderMOD 作者让你往游戏目录里放 .asi 文件时游戏本身并不知道怎么加载这个扩展名。Ultimate ASI Loader 是一个代理 DLL它进入游戏进程后会接管 .asi 插件的扫描和加载你只需把它放进游戏目录之后每个插件都会随游戏启动自动生效。全程不改游戏原始文件。选一个 DLL 名字放进游戏目录发布包提供 Win32 和 x64 两套代理 DLL文件名对应游戏会调用的系统库d3d9.dll、d3d11.dll、dxgi.dll、dinput8.dll、dsound.dll、version.dll、winmm.dll、wininet.dll、xinput1_3.dll 等。默认用 dinput8.dll 即可如果游戏不调用它就把 DLL 重命名成上表中的其它名字再放。两个容易踩的细节代理替换了游戏原有 DLL 时把原 DLL 重命名为原文件名Hooked.dll例如 d3d12Hooked.dll再放入代理binkw32.dll 和 vorbisFile.dll 两种情况都可以但替换前务必备份原文件。想自己编译的话先克隆仓库git clone https://gitcode.com/gh_mirrors/ul/Ultimate-ASI-Loader仓库内 premake5.exe 生成 Visual Studio 解决方案需 VS 2022release.bat 会把编译出的 dinput8.dll 打包成 zip。当前仓库最新 tag 为 v9.7.2。把 .asi 放进正确目录加载器默认扫描四处游戏根目录以及 scripts、plugins、update 三个文件夹。推荐把插件统一放在 scripts 下游戏目录\ dinput8.dll ← 重命名后的加载器 scripts\某插件.asi ← 放这里 plugins\ update\不想扫根目录时在 ini 里设LoadFromScriptsOnly1不想递归扫描子目录时设LoadRecursively0。用 global.ini 控制加载行为global.ini 放在 scripts 或 plugins 文件夹即可想只对某个代理名生效可以用 DLL 名作文件名例如 version.dll 对应 version.dll\version.ini。最小可用版本[GlobalSets] UseD3D8to90 [FileLoader] OverloadFromFolderupdate常用开关两个UseD3D8to91启用内置的 d3d8to9 转换层给依赖 DirectX 8 的老 MOD 用且加载器必须改名为 d3d8.dll 才生效DisableCrashDumps1关闭崩溃转储。默认情况下你在 DLL 所在目录建一个 CrashDumps 文件夹游戏崩溃时加载器会自动写入 minidump 和日志方便定位问题。用 update 文件夹替换游戏文件OverloadFromFolder 功能让加载器在游戏请求文件时改从替换目录读取原文件一个都不用动。比如某 MOD 要替换nativePC_MT\Image\Archive\ChapterEnd11.arc就把替换文件按同样子路径放进 update 文件夹update\nativePC_MT\Image\Archive\ChapterEnd11.arc。想还原游戏删掉 update 文件夹即可。注意 update 是相对加载器 DLL 的位置DLL 放在子目录里时子路径要跟着调整。从 7.9.0 起可以指定多个文件夹游戏启动时弹出选择框[FileLoader] OverloadFromFolderupdate | nightmare文件夹里再放一个 update.txt、写一行自定义名字就会显示在弹窗标题中。用示例插件验证加载链路发布包带有 MessageBox 演示插件解压后放进 scripts游戏启动时弹出 ASI Loader works correctly. 对话框说明代理 DLL、扫描、加载整条链路都通了。以后排查插件没生效时先跑一次这个对照实验再谈具体插件的问题。仓库里另有几个可参考的插件源码RE7Demo.InfiniteAmmo给演示版游戏加功能、MonoLoader加载 .NET 插件、VirtualFileServer配合虚拟文件测试。查问题不生效、崩溃、UWP 游戏放进去没反应先确认游戏实际调用哪个库换 d3d9.dll、d3d11.dll、dxgi.dll 等名字逐个试启动即崩建好 CrashDumps 文件夹拿 dump再逐个移出插件做二分定位32 位游戏窗口化异常在加载器目录建一个空的 wndmode.ini首次运行会自动填入示例配置内置 wndmode 仅 x86 版支持UWP 版游戏需要先用 UWPDumper 把游戏文件 dump 出来注册表文件重命名后才能按普通游戏流程放插件步骤较长参考仓库 readme 的 Using with UWP games 一节。进阶写自己的 ASI 插件ASI 本质是一个实现了 DllMain 的 DLL。仓库里的 MessageBox 示例只有十几行在 DLL_PROCESS_ATTACH 时执行逻辑。插件内部可以通过IsModuleUAL判断进程里有没有加载器用GetOverloadPathA/GetOverloadPathW导出函数拿到当前的替换目录路径。动手前建议先看 tests/ 下的五组测试场景普通加载、文件夹替换、虚拟文件、zip 文件、虚拟路径和 source/demo_plugins/ 的四个示例插件它们覆盖了加载器对外提供的主要行为。【免费下载链接】Ultimate-ASI-LoaderThe Ultimate ASI Loader is a proxy DLL that loads custom .asi libraries into any game process.项目地址: https://gitcode.com/gh_mirrors/ul/Ultimate-ASI-Loader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考