saints row iv · hook points
Saints Row IV Hook Points
Best places to hook for mods and tools.
Hook Points14 rows
All addresses are for this exact exe build and never move (no ASLR). Statically derived - not tested in-game.
| Goal | Where | Address | Notes |
|---|---|---|---|
| Run code every frame | game_frame_tick | 00724f40 | Main thread, once per frame. |
| Know when gameplay starts | gs_in_game_enter | 00861f70 | Called when IN_GAME is entered. |
| Add your own Lua commands | lua_gameplay_vm_init | 00bbd970 | After it runs, register with lua_pushcclosure (011fb310) + lua_setfield (011fb680). |
| Run Lua code | luaL_loadbuffer + lua_pcall | 011fc650 / 011fb960 | Use the mission engine pointer at 03429790. |
| Get the player | get_local_player | 00b639c0 | Or read the pointer at 02E9DC38. |
| Change health | human+0x1E20 | - | Float; max at +0x1E10. |
| Change cash | player+0x1E08 | - | Int, cents. |
| Intercept all damage | human_take_damage | 00adeb60 | God mode / damage scaling. |
| Replace any game file | mods folder | 011060e0 | Drop the file into 'mods' next to the exe. |
| See every file opened | cf_find_file | 010b7b00 | |
| Change weapon upgrade stats | weapon_upgrades.xtbl | 00d6d5c0 | Data edit, no code needed. |
| Stop cheats flagging saves | cheats.xtbl Dont_Flag_As_Cheating | 00857f30 | Data edit. |
| Raise a memory limit | sys_alloc_region size in game_memory_budget_init | 00726620 | Patch the size constant. |
| Watch co-op messages | net_register_msg table | 02DB9420 | Hook a handler pointer. |
Built from SR4_Game_Explained.xlsx (650 KB), if you'd rather filter it in Excel. SaintsRowIV.exe v1.0.6.1 (Steam). Names are ours unless they're Volition's own Lua or C++ class names.

