Replace Tadah.DLL references with Kiseki.Patcher
This commit is contained in:
parent
bdb3968fed
commit
dceac141bf
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.0.32014.148
|
VisualStudioVersion = 17.0.32014.148
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tadah.DLL", "Tadah.DLL\Tadah.DLL.vcxproj", "{9D232642-FB2F-43DC-B0AC-C56E3B691233}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Kiseki.Patcher", "Kiseki.Patcher\Kiseki.Patcher.vcxproj", "{9D232642-FB2F-43DC-B0AC-C56E3B691233}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
|
@ -56,7 +56,7 @@ BOOL __fastcall CRobloxApp__InitInstance_hook(CRobloxApp* _this)
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
if (!hasAuthenticationUrl || !hasAuthenticationTicket || !hasJoinScriptUrl || !hasJobId)
|
if (!hasAuthenticationUrl || !hasAuthenticationTicket || !hasJoinScriptUrl || !hasJobId)
|
||||||
{
|
{
|
||||||
ShellExecute(0, 0, L"https://tadah.rocks/games", 0, 0, SW_SHOW);
|
ShellExecute(0, 0, L"https://kiseki.lol/games", 0, 0, SW_SHOW);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -4,10 +4,10 @@
|
||||||
// #define SERVER
|
// #define SERVER
|
||||||
// #define PLAYER
|
// #define PLAYER
|
||||||
|
|
||||||
#define BASE_URL "https://tadah.rocks"
|
#define BASE_URL "https://kiseki.lol"
|
||||||
#define DISCORD_APP_ID 923705431543668736
|
#define DISCORD_APP_ID 923705431543668736
|
||||||
|
|
||||||
#define ALLOWED_WILDCARD_DOMAINS "tadah.rocks", "rbxcdn.com", "roblox.com"
|
#define ALLOWED_WILDCARD_DOMAINS "kiseki.lol", "rbxcdn.com", "roblox.com"
|
||||||
#define ALLOWED_DOMAINS
|
#define ALLOWED_DOMAINS
|
||||||
#define ALLOWED_SCHEMES "http", "https"
|
#define ALLOWED_SCHEMES "http", "https"
|
||||||
#define ALLOWED_EMBEDDED_SCHEMES "javascript", "jscript", "res"
|
#define ALLOWED_EMBEDDED_SCHEMES "javascript", "jscript", "res"
|
||||||
|
|
@ -67,12 +67,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "040904b0"
|
BLOCK "040904b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Tadah"
|
VALUE "CompanyName", "Kiseki"
|
||||||
VALUE "FileDescription", "Client Functionality Library"
|
VALUE "FileDescription", "Client Functionality Library"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
VALUE "InternalName", "Tadah.dll"
|
VALUE "InternalName", "Kiseki.Patcher.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) Tadah and Project Polygon 2022"
|
VALUE "LegalCopyright", "Copyright (C) Kiseki 2022-2023"
|
||||||
VALUE "OriginalFilename", "Tadah.dll"
|
VALUE "OriginalFilename", "Kiseki.Patcher.dll"
|
||||||
VALUE "ProductName", "Client Functionality Library"
|
VALUE "ProductName", "Client Functionality Library"
|
||||||
VALUE "ProductVersion", "1.0.0.0"
|
VALUE "ProductVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<VCProjectVersion>16.0</VCProjectVersion>
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<ProjectGuid>{9d232642-fb2f-43dc-b0ac-c56e3b691233}</ProjectGuid>
|
<ProjectGuid>{9d232642-fb2f-43dc-b0ac-c56e3b691233}</ProjectGuid>
|
||||||
<RootNamespace>Tadah.DLL</RootNamespace>
|
<RootNamespace>Kiseki.Patcher</RootNamespace>
|
||||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
|
@ -46,14 +46,12 @@
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
|
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
|
||||||
<TargetName>Tadah</TargetName>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
|
||||||
<IntDir>obj\$(Configuration)\</IntDir>
|
<IntDir>obj\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
|
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
|
||||||
<TargetName>Tadah</TargetName>
|
|
||||||
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
|
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
|
||||||
<IntDir>obj\$(Configuration)\</IntDir>
|
<IntDir>obj\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
@ -72,7 +70,7 @@
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;TADAHDLL_EXPORTS;_WINDOWS;_USRDLL;$(TadahCIDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;KISEKIPATCHER_EXPORTS;_WINDOWS;_USRDLL;$(CIDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
|
@ -98,7 +96,7 @@
|
||||||
</FunctionLevelLinking>
|
</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;TADAHDLL_EXPORTS;_WINDOWS;_USRDLL;$(TadahCIDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;KISEKIPATCHER_EXPORTS;_WINDOWS;_USRDLL;$(CIDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<ConformanceMode>true</ConformanceMode>
|
<ConformanceMode>true</ConformanceMode>
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
|
@ -157,7 +155,7 @@
|
||||||
<ClCompile Include="Hooks\Crypt.cpp" />
|
<ClCompile Include="Hooks\Crypt.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="Tadah.DLL.rc" />
|
<ResourceCompile Include="Kiseki.DLL.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|
@ -106,7 +106,7 @@
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="Tadah.DLL.rc">
|
<ResourceCompile Include="Kiseki.DLL.rc">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
@ -15,7 +15,7 @@ std::string Server::HttpLogPath;
|
||||||
void Server::Initialize(const std::wstring jobId)
|
void Server::Initialize(const std::wstring jobId)
|
||||||
{
|
{
|
||||||
std::string _jobId = Helpers::ws2s(jobId);
|
std::string _jobId = Helpers::ws2s(jobId);
|
||||||
std::string signature = "Tadah.DLL v1.0.0";
|
std::string signature = "Kiseki.Patcher v1.0.0";
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
signature += " (compiled as Debug)";
|
signature += " (compiled as Debug)";
|
||||||
53
README.md
53
README.md
|
|
@ -1,52 +1,5 @@
|
||||||
# Tadah.DLL
|
# Kiseki.Patcher
|
||||||
DLL used for extending game client/server functionality
|
DLL used for extending client/server functionality
|
||||||
|
|
||||||
Fork of [ProjectPolygon/PolygonDLL](https://github.com/ProjectPolygon/PolygonDLL), which is based off of [ndoesstuff/JoinScriptUrlImpl](https://github.com/ndoesstuff/JoinScriptUrlImpl) as per the MIT license
|
|
||||||
|
|
||||||
## CI/CD
|
|
||||||
Tadah.DLL is available on the Tadah CI. All builds are compiled as release, and a build occurs per push.
|
|
||||||
|
|
||||||
- [player-win-x86](https://ci.tadah.sipr/buildConfiguration/Tadah_DLL_PlayerWinX86)
|
|
||||||
- [studio-win-x86](https://ci.tadah.sipr/buildConfiguration/Tadah_DLL_StudioWinX86)
|
|
||||||
- [server-win-x86](https://ci.tadah.sipr/buildConfiguration/Tadah_DLL_ServerWinX86)
|
|
||||||
|
|
||||||
## Build
|
|
||||||
Tadah.DLL requires [vcpkg](https://github.com/microsoft/vcpkg) to manage package installation such with libcurl, detours, and rapidjson. Here's a quick way to install vcpkg;
|
|
||||||
|
|
||||||
```
|
|
||||||
> cd <path where vcpkg should be kept; such as C:\vcpkg>
|
|
||||||
> git clone https://github.com/microsoft/vcpkg
|
|
||||||
> .\vcpkg\bootstrap-vcpkg.bat
|
|
||||||
> .\vcpkg\vcpkg integrate install
|
|
||||||
> .\vcpkg\vcpkg integrate project
|
|
||||||
```
|
|
||||||
|
|
||||||
Tadah.DLL only builds under Win32 for x86 architecture.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
The DLL is imported with StudPE under the `import` function name for server builds. Otherwise, the DLL should be imported into the executable via VMProtect.
|
|
||||||
|
|
||||||
Several preprocessor flags are available that modify how the DLL operates. They are specific to the executable being compiled for. You may read the code for further information.
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
Test trust check:
|
|
||||||
1. Insert a new brick with decal
|
|
||||||
2. Try setting decal ID to `http://tadah.rocks` - Should succeed
|
|
||||||
3. Try setting decal ID to `http://tadah.rocks@example.com` - Should fail
|
|
||||||
|
|
||||||
Test extended signature check:
|
|
||||||
- Run `loadfile("rbxasset://invalid-signature.txt")()` - Should throw an exception
|
|
||||||
- Run `loadfile("rbxasset://overflow-signature.txt")()` - Should throw an exception
|
|
||||||
- Run `loadfile("https://polygon.pizzaboxer.xyz/Game/Visit.ashx")()` - Should succeed (if compiled with the Project Polygon public key)
|
|
||||||
|
|
||||||
Test command line parameter reimplementation:
|
|
||||||
- `> RobloxApp.exe -a http://polygondev.pizzaboxer.xyz/Login/Negotiate.ashx -t 0 -j http://polygondev.pizzaboxer.xyz/Game/Visit.ashx`
|
|
||||||
|
|
||||||
Test asset redirection:
|
|
||||||
- Run `game:Load("https://www.roblox.com/Asset?id=1818&version=1")` - Should succeed
|
|
||||||
1. Insert a new brick with decal
|
|
||||||
2. Try setting decal ID to `https://www.roblox.com/Thumbs/Asset.ashx?id=1818&x=768&y=432` - Should succeed
|
|
||||||
3. Try setting decal ID to `https://www.roblox.com/Thumbs/Avatar.ashx?id=1&x=768&y=432` - Should succeed
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
Copyright (c) Tadah and Project Polygon 2022. All rights reserved. Not for public use.
|
Copyright (c) Kiseki 2022-2023. All rights reserved. Not for public use.
|
||||||
Loading…
Reference in New Issue