This commit is contained in:
Mustafa Haider Ghazi 2026-02-07 22:53:22 +03:00
commit 8b49fe0590
53 changed files with 402 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.vs/

117
RLIdentity.cpp Normal file
View File

@ -0,0 +1,117 @@
#include <Windows.h>
#include <MinHook.h>
#include <shlobj.h>
#include <stdio.h>
#pragma comment(lib, "MinHook.x64.lib")
#pragma comment(lib, "shell32.lib")
static char g_SpoofedName[256] = "Player";
static char g_ConfigPath[MAX_PATH] = { 0 };
typedef int(__stdcall* EOS_Func_t)(void*, void*, void**);
EOS_Func_t oEOS_UserInfo_CopyUserInfo = nullptr;
void LoadConfig() {
// Get AppData path
char appDataPath[MAX_PATH];
SHGetFolderPathA(NULL, CSIDL_APPDATA, NULL, 0, appDataPath);
sprintf_s(g_ConfigPath, "%s\\RLidentity\\config.txt", appDataPath);
FILE* fp = NULL;
fopen_s(&fp, g_ConfigPath, "r");
if (fp) {
char line[256] = { 0 };
if (fgets(line, sizeof(line), fp)) {
line[strcspn(line, "\r\n")] = 0;
if (strlen(line) > 0 && strlen(line) < 50) {
strcpy_s(g_SpoofedName, sizeof(g_SpoofedName), line);
}
}
fclose(fp);
}
}
int __stdcall hkEOS_UserInfo_CopyUserInfo(void* p1, void* p2, void** p3) {
int result = oEOS_UserInfo_CopyUserInfo(p1, p2, p3);
if (result == 0 && p3 && *p3) {
char** structPtr = (char**)*p3;
__try {
if (structPtr[3] && !IsBadReadPtr(structPtr[3], 6)) {
if (strstr(structPtr[3], "sfdb.") != nullptr) {
structPtr[3] = g_SpoofedName;
}
}
}
__except (EXCEPTION_EXECUTE_HANDLER) {
}
}
return result;
}
DWORD WINAPI ConfigReloadThread(LPVOID lpParam) {
while (true) {
Sleep(2000);
LoadConfig();
}
return 0;
}
BOOL InstallHooks() {
LoadConfig();
if (MH_Initialize() != MH_OK) {
return FALSE;
}
HMODULE hEOSSDK = NULL;
for (int i = 0; i < 50; i++) {
hEOSSDK = GetModuleHandleA("EOSSDK-Win64-Shipping.dll");
if (hEOSSDK) break;
Sleep(100);
}
if (!hEOSSDK) {
return FALSE;
}
LPVOID pFunc = (LPVOID)GetProcAddress(hEOSSDK, "EOS_UserInfo_CopyUserInfo");
if (!pFunc) {
return FALSE;
}
if (MH_CreateHook(pFunc, &hkEOS_UserInfo_CopyUserInfo, (LPVOID*)&oEOS_UserInfo_CopyUserInfo) != MH_OK) {
return FALSE;
}
if (MH_EnableHook(pFunc) != MH_OK) {
return FALSE;
}
CreateThread(NULL, 0, ConfigReloadThread, NULL, 0, NULL);
return TRUE;
}
DWORD WINAPI HookThread(LPVOID lpParam) {
Sleep(3000);
InstallHooks();
return 0;
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) {
if (dwReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls(hModule);
CreateThread(NULL, 0, HookThread, NULL, 0, NULL);
}
else if (dwReason == DLL_PROCESS_DETACH) {
MH_DisableHook(MH_ALL_HOOKS);
MH_Uninitialize();
}
return TRUE;
}

22
RLIdentity.filters Normal file
View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="RLIdentity.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

31
RLIdentity.sln Normal file
View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36414.22 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RLIdentity", "RLIdentity.vcxproj", "{71E79F3E-69F5-426D-8FBD-82CD278F585F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Debug|x64.ActiveCfg = Debug|x64
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Debug|x64.Build.0 = Debug|x64
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Debug|x86.ActiveCfg = Debug|Win32
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Debug|x86.Build.0 = Debug|Win32
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Release|x64.ActiveCfg = Release|x64
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Release|x64.Build.0 = Release|x64
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Release|x86.ActiveCfg = Release|Win32
{71E79F3E-69F5-426D-8FBD-82CD278F585F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E84CAF32-800F-4E7C-8542-3E7865BA1FC3}
EndGlobalSection
EndGlobal

4
RLIdentity.user Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

145
RLIdentity.vcxproj Normal file
View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{71e79f3e-69f5-426d-8fbd-82cd278f585f}</ProjectGuid>
<RootNamespace>RLNameSpoofer</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>RLIdentity</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<VcpkgUseStatic>true</VcpkgUseStatic>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>(VcpkgRoot)\installed\x64-windows\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(VcpkgRoot)\installed\x64-windows\lib</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="RLIdentity.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

4
RLIdentity.vcxproj.user Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>E:\projects\Rocket League\RLIdentityDLL\x64\Debug\RLIdentity.dll</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>

View File

@ -0,0 +1,2 @@
 RLIdentity.cpp
LINK : fatal error LNK1104: cannot open file 'MinHook.x64.lib'

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
E:\projects\Rocket League\RLIdentityDLL\RLIdentity.cpp;E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Debug\RLIdentity.obj

View File

@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.44.35207:TargetPlatformVersion=10.0.26100.0:VcpkgTriplet=x64-windows:
Debug|x64|E:\projects\Rocket League\RLIdentityDLL\|

View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1,2 @@
^E:\PROJECTS\ROCKET LEAGUE\RLIDENTITYDLL\RLIDENTITY\X64\DEBUG\RLIDENTITY.OBJ
E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Debug\RLIdentity.ilk

View File

@ -0,0 +1 @@


View File

@ -0,0 +1,2 @@
E:\projects\Rocket League\RLIdentityDLL\x64\Debug\minhook.x64d.dll
E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Debug\RLIdenti.F1359A32.Up2Date

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@

E:\projects\Rocket League\RLIdentityDLL\x64\Debug\minhook.x64d.dll

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>E:\projects\Rocket League\RLIdentityDLL\x64\Release\RLIdentity.dll</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
 Generating code
10 of 11 functions (90.9%) were compiled, the rest were copied from previous compilation.
6 functions were new in current compilation
0 functions had inline decision re-evaluated but remain unchanged
Finished generating code
RLIdentity.vcxproj -> E:\projects\Rocket League\RLIdentityDLL\x64\Release\RLIdentity.dll
'pwsh.exe' is not recognized as an internal or external command,
operable program or batch file.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
E:\projects\Rocket League\RLIdentityDLL\RLIdentity.cpp;E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Release\RLIdentity.obj

View File

@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.44.35207:TargetPlatformVersion=10.0.26100.0:VcpkgTriplet=x64-windows-static:
Release|x64|E:\projects\Rocket League\RLIdentityDLL\|

View File

@ -0,0 +1,3 @@
^E:\PROJECTS\ROCKET LEAGUE\RLIDENTITYDLL\RLIDENTITY\X64\RELEASE\RLIDENTITY.OBJ
E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Release\RLIdentity.IPDB
E:\projects\Rocket League\RLIdentityDLL\RLIdentity\x64\Release\RLIdentity.iobj

View File

@ -0,0 +1,8 @@
 RLIdentity.cpp
Generating code
Previous IPDB not found, fall back to full compilation.
All 12 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
Finished generating code
RLNameSpoofer.vcxproj -> E:\projects\Rocket League\RLIdentityDLL\x64\Release\RLIdentity.dll
'pwsh.exe' is not recognized as an internal or external command,
operable program or batch file.

Binary file not shown.

View File

@ -0,0 +1 @@


14
dllmain.cpp Normal file
View File

@ -0,0 +1,14 @@
#include <Windows.h>
#include <d3d9.h>
#pragma comment(lib, "d3d9.lib")
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved) {
if (dwReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls(hModule);
// INSTANT visual feedback
MessageBoxA(NULL, "RLNameSpoofer.dll loaded successfully!", "DLL Injected", MB_OK | MB_ICONINFORMATION);
}
return TRUE;
}

BIN
libMinHook.x64.lib Normal file

Binary file not shown.

BIN
x64/Debug/RLIdentity.pdb Normal file

Binary file not shown.

BIN
x64/Debug/minhook.x64d.dll Normal file

Binary file not shown.

BIN
x64/Release/RLIdentity.dll Normal file

Binary file not shown.

BIN
x64/Release/RLIdentity.pdb Normal file

Binary file not shown.