该程序启动 ARK: Survival Evolved 或 ARK: Survival Ascended 并修改某些 Steam API 和 EOS SDK 方法的行为,但不更改任何游戏文件。
这两款游戏的变化:
《方舟:生存进化》的变化:
......Mods
相对于 ShooterGame.exe),即使游戏不是,也可以识别和使用模组只要文件可用,就属于当前 Steam 帐户,并且不能订阅《方舟:生存提升》的变化:
此外,TEK Injector 对-high
命令行参数进行了特殊处理,这将使其以高进程优先级运行游戏。
-noadmin
命令行参数可用于在没有管理员权限的情况下启动游戏进程(TEK 注射器本身必须与它们一起运行)
独立版:从发行版下载 tek-injector.exe,将其放入游戏的ShooterGameBinariesWin64
目录中并运行。传递到 TEK Injector 的所有命令行参数都将转发到游戏。
嵌入式(对于应用程序开发人员):如果正确加载其 PE 映像(包含压缩部分并填充导入表),您可以在进程中使用 TEK Injector,tek-injector.exe 导出 2 个可通过 GetProcAddress 获取的函数:
void launch_asa ( const wchar_t * exePath , int argc , const wchar_t * * argv );
void launch_ase ( const wchar_t * exePath , int argc , const wchar_t * * argv );
其中exePath
是游戏可执行文件的路径(分别是 ArkAscended.exe 和 ShooterGame.exe), argc
和argv
提供游戏进程的命令行参数。请记住,您不需要将第一个参数设置为可执行路径,TEK Injector 会自行完成此操作并在其后附加来自argv
的参数,而且这些函数可能会阻塞长达 10 秒以确保游戏进程不会启动后返回错误。
TEK Injector 创建处于挂起状态的游戏进程,然后在其中分配内存并将自身复制到其中,然后修改主线程的上下文,以便它从 TEK Injector 的映像执行自定义入口点,该映像修改游戏可执行文件的导入地址表以使用自己的函数包装器必要时,然后将执行传递到游戏的真正入口点,该入口点甚至不知道在它之前发生了一些事情。只需复制后即可在游戏进程内运行 TEK Injector,因为游戏端代码仅依赖于映像和 kernel32.dll 中捆绑的内容(位于所有进程中的同一虚拟地址),而无需任何其他外部依赖项。