程式啟動 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 中捆綁的內容(位於所有進程中的相同虛擬位址),而無需任何其他外部依賴項。