2 Commits

Author SHA1 Message Date
b16f6b8ee1 Update StarWarsG RVAs 2026-03-01 20:03:55 -06:00
533390606e Include MinHook as a statically linked library 2026-03-01 17:41:52 -06:00
5 changed files with 25 additions and 21 deletions

2
.gitignore vendored
View File

@@ -3,6 +3,8 @@ powrprof/
.vscode/ .vscode/
.vs/ .vs/
.claude/ .claude/
minhook/
packages/
*.vcxproj.user *.vcxproj.user

View File

@@ -50,7 +50,6 @@
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v145</PlatformToolset> <PlatformToolset>v145</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@@ -71,6 +70,11 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>packages\minhook.1.3.3\lib\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;$(IncludePath)</IncludePath> <IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x64;$(LibraryPath)</LibraryPath> <LibraryPath>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x64;$(LibraryPath)</LibraryPath>
@@ -92,6 +96,7 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC> <EnableUAC>false</EnableUAC>
<AdditionalDependencies>packages\minhook.1.3.3\lib\native\lib\libMinHook-x86-v141-mdd.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -109,6 +114,7 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC> <EnableUAC>false</EnableUAC>
<AdditionalDependencies>packages\minhook.1.3.3\lib\native\lib\libMinHook-x86-v141-md.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -124,8 +130,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC> <EnableUAC>false</EnableUAC>
<AdditionalLibraryDirectories>minhook\bin\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>powrprof.def</ModuleDefinitionFile> <ModuleDefinitionFile>powrprof.def</ModuleDefinitionFile>
<AdditionalDependencies>packages\minhook.1.3.3\lib\native\lib\libMinHook-x64-v141-mdd.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -143,8 +149,8 @@
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC> <EnableUAC>false</EnableUAC>
<AdditionalLibraryDirectories>minhook\bin\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>powrprof.def</ModuleDefinitionFile> <ModuleDefinitionFile>powrprof.def</ModuleDefinitionFile>
<AdditionalDependencies>packages\minhook.1.3.3\lib\native\lib\libMinHook-x64-v141-md.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>

View File

@@ -1,14 +1,8 @@
#include "lua_hook.h" #include "lua_hook.h"
#include "functions/functions.h" #include "functions/functions.h"
#include "minhook/include/MinHook.h" #include <MinHook.h>
#include <windows.h> #include <windows.h>
#if defined _M_X64
#pragma comment(lib, "MinHook.x64.lib")
#elif defined _M_IX86
#pragma comment(lib, "MinHook.x86.lib")
#endif
// Resolved function pointers // Resolved function pointers
fn_lua_open real_lua_open = nullptr; fn_lua_open real_lua_open = nullptr;
fn_lua_pushstring pfn_pushstring = nullptr; fn_lua_pushstring pfn_pushstring = nullptr;
@@ -41,8 +35,6 @@ static lua_State* Hook_lua_open() {
Register_All(L); Register_All(L);
if (pfn_debug_print) pfn_debug_print("[FoCAPI] Lua state initialized\n");
return L; return L;
} }

4
packages.config Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="minhook" version="1.3.3.0" targetFramework="native" />
</packages>

18
rvas.h
View File

@@ -38,7 +38,7 @@ constexpr LuaRVAs RVAs_StarWarsI = {
0x12ACD70, // lua_rawseti 0x12ACD70, // lua_rawseti
// --- Players --- // --- Players ---
0x06FA990, // PlayerListClass::Get_Player_By_Index 0x000b0e1, // PlayerListClass::Get_Player_By_Index
0x1913158, // PlayerList global object 0x1913158, // PlayerList global object
0x0F12010, // PlayerWrapper::Create 0x0F12010, // PlayerWrapper::Create
@@ -58,18 +58,18 @@ constexpr LuaRVAs RVAs_StarWarsG = {
0x07b9340, // lua_pushcclosure 0x07b9340, // lua_pushcclosure
0x07b9a60, // lua_settable 0x07b9a60, // lua_settable
0x07b9cc0, // lua_tostring 0x07b9cc0, // lua_tostring
0, // lua_tonumber (TODO) 0x07b9bc0, // lua_tonumber
0, // lua_newtable (TODO) 0x07b9140, // lua_newtable (TODO)
0, // lua_rawseti (TODO) 0x07b9820, // lua_rawseti (TODO)
// --- Players --- // --- Players ---
0, // PlayerListClass::Get_Player_By_Index (TODO) 0x0294bc0, // PlayerListClass::Get_Player_By_Index (TODO)
0, // PlayerList global object (TODO) 0x0a16fd0, // PlayerList global object (TODO)
0, // PlayerWrapper::Create (TODO) 0x06019f0, // PlayerWrapper::Create (TODO)
// --- Scripts --- // --- Scripts ---
0, // LuaScriptClass::Get_Script_From_State (TODO) 0x0245790, // LuaScriptClass::Get_Script_From_State (TODO)
0, // LuaScriptClass::Map_Var_To_Lua (TODO) 0x0247700, // LuaScriptClass::Map_Var_To_Lua (TODO)
// --- Debug --- // --- Debug ---
0, // Debug_Print (TODO) 0, // Debug_Print (TODO)