Эта программа запускает ARK: Survival Evolved или ARK: Survival Ascended и изменяет поведение определенных методов Steam API и EOS SDK, не меняя при этом никаких файлов игры.
Что это меняет в обеих играх:
Что это меняет в ARK: Survival Evolved:
......Mods
относительно ShooterGame.exe), что позволяет распознавать и использовать моды, даже если игра не установлена. принадлежит текущей учетной записи Steam и не может иметь подписок, пока файлы доступны.Что это меняет в ARK: Survival Ascended:
Кроме того, TEK Injector имеет специальную обработку аргумента командной строки -high
, которая позволяет запускать игру с высоким классом приоритета процесса.
Аргумент командной строки -noadmin
можно использовать для запуска игрового процесса без прав администратора (сам TEK Injector должен быть запущен с ними)
Автономная версия: загрузите tek-injector.exe из релизов, поместите его в каталог вашей игры ShooterGameBinariesWin64
и запустите. Все аргументы командной строки, передаваемые в TEK Injector, будут перенаправлены в игру.
Встроенное (для разработчиков приложений): вы можете использовать TEK Injector прямо внутри вашего процесса, если правильно загрузите его PE-образ (с удалением разделов и заполнением таблицы импорта), 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 (который находится по одному и тому же виртуальному адресу во всех процессах) без каких-либо других внешних зависимостей.