このプログラムは、ARK: Survival Evolved または ARK: Survival Ascended を起動し、ゲームのファイルを変更せずに、特定の Steam API および EOS SDK メソッドの動作を変更します。
両方のゲームで何が変わるか:
ARK: Survival Evolved での変更点:
......Mods
) にある Mods ディレクトリ内の MOD フォルダーを検索します。これにより、ゲームがインストールされていない場合でも MOD を認識して使用できるようになります。現在の Steam アカウントで所有されており、ファイルが利用可能な限りサブスクリプションを持つことはできませんARK: Survival Ascended での変更点:
さらに、TEK Injector には-high
コマンドライン引数に対する特別な処理があり、高いプロセス優先度クラスでゲームを実行します。
-noadmin
コマンドライン引数を使用すると、管理者権限なしでゲーム プロセスを開始できます (TEK Injector 自体を管理者権限で実行する必要があります)
スタンドアロン: リリースから tek-injector.exe をダウンロードし、ゲームのShooterGameBinariesWin64
ディレクトリに配置して実行します。 TEK Injector に渡されるすべてのコマンドライン引数はゲームに転送されます。
組み込み (アプリ開発者向け): PE イメージ (セクションの収縮とインポート テーブルの記入) を適切にロードすると、TEK インジェクターをプロセス内で直接使用できます。tek-injector.exe は、GetProcAddress 経由で取得できる 2 つの関数をエクスポートします。
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 インジェクターはそれを独自に実行し、その後にargv
からの引数を追加します。また、これらの関数は、ゲーム プロセスが中断されないように最大 10 秒間ブロックされる場合があります。起動後にエラーを返します。
TEK インジェクターは、サスペンド状態のゲーム プロセスを作成し、その中にメモリを割り当てて自身をコピーします。その後、メイン スレッドのコンテキストを変更して、TEK インジェクターのイメージからカスタム エントリ ポイントを実行します。これにより、独自の関数ラッパーを使用するようにゲーム実行可能ファイルのインポート アドレス テーブルが変更されます。必要に応じて、実行をゲームの実際のエントリ ポイントに渡します。このエントリ ポイントは、その前に何かが起こったことさえ認識しません。 TEK インジェクターを単純にコピーした後、ゲーム プロセス内で TEK インジェクターを実行することは、他の外部依存関係を持たずに、イメージ内にバンドルされているものと kernel32.dll (すべてのプロセスにわたって同じ仮想アドレスに存在する) のみに依存するようにゲーム側コードを作成することで可能になります。