InfiniteExt is a customizable DLL Hook for Halo Infinite for interacting with the built-in HavokScript VM and tag system. This project is built on top of Blamify's Gatekeeper, with functionality updated for the latest build of Halo Infinite.
- Hooking HavokScript
- Hooks to Game Functions
- Lua File Loading
- Tag Editing/Viewing
- Built-in Memory Editor
- ImGui Integration
- Forge Hidden Category Enabler
- Game Engine Hooks
Tip
PRs and Feature requests are appreciated!
InfiniteExt requires Easy Anti Cheat to be disabled, which can be achieved by moving the contents of the /game
folder into the main installation directory, overriding the existing HaloInfinite.exe which acts only as an Easy Anti Cheat loader.
- Steam:
{path to SteamLibrary}/steamapps/common/Halo Infinite/game
->{path to SteamLibrary}/steamapps/common/Halo Infinite
- Microsoft Store:
{path to XboxGames}/Halo Infinite/Content/game
->{path to XboxGames}/Halo Infinite/Content/
For hooking InfiniteExt to Halo Infinite, the USER32 DLL has to be replaced with InfiniteExt. In a Hex editor of your choice, open the HaloInfinite.exe
executable, search for USER32.DLL
and replace with InfExt.DLL
.
Important
Replace the User32 DLL inside the main HaloInfinite.exe, the one you moved from /game. This file should be around 80-90MBs depending on version.
This project can be built using Visual Studio 2022 (vc143) with vcpkg
installed. To install vcpkg
, follow these instructions.. Previous versions of Visual Studio haven not been tested.
Note
The current project is not cross-platform compatible due to a multitude of Microsoft-specific extensions of C++ being used. Usage on Linux using Wine has not been tested.
InfiniteExt's ImGui interface contains a command line that is directly integrated into the built-in HavokScript VM of Halo Infinite. Here, you can run regular lua functions in addition to the custom C bindings which you can find a list for here.
The debug menu contains multiple toggles for:
- Enabling the Forge hidden category
- Enabling the debug watermark
- Disabling HUD
- Disabling kill volumes
InfiniteExt provides a tag window that allows you to load and view tags. Simply press the "Load Tags" button and the list will populate with tags sorted by their class. Currently, except for CMSW (CoatingSwatch) files, the list view only provides metadata for tags. For CMSW files however, you can click the "Edit Tag" button, which will open up a seperate window that will allow you to edit every property of the tag.
- Home: Reload Graphics Hook
- Insert: Show/Hide UI
- End: Hook/Unhook ImGui/DX12
- Minhook: The Minimalistic x86/x64 API Hooking Library for Windows.
- Dear Imgui: Bloat-free Graphical User interface for C++ with minimal dependencies.
- UniversalHookX (modified):: Universal graphical hook for Windows apps.
- libinfinite (structs): A library for working with Halo Infinites files.