From 572799fa5a97cffb9db4c89e70f0000d9c71a662 Mon Sep 17 00:00:00 2001 From: lightbulblighter <59720715+lightbulblighter@users.noreply.github.com> Date: Tue, 7 Jun 2022 02:20:11 -0700 Subject: [PATCH] clean up entire solution --- PolygonDLLUtilities.sln => PolygonDLL.sln | 2 +- .../Hooks/Application.cpp | 0 .../Hooks/CRoblox.cpp | 0 .../Hooks/Context.cpp | 0 .../Hooks/Crypt.cpp | 0 .../Hooks/Http.cpp | 0 .../Hooks/ServerReplicator.cpp | 0 .../Hooks/StandardOut.cpp | 0 .../Include/Classes.h | 0 .../Include/Config.h | 0 .../Include/Hooks/Application.h | 0 .../Include/Hooks/CRoblox.h | 0 .../Include/Hooks/Context.h | 0 .../Include/Hooks/Crypt.h | 0 .../Include/Hooks/Http.h | 0 .../Include/Hooks/ServerReplicator.h | 0 .../Include/Hooks/StandardOut.h | 0 .../Include/Patches.h | 0 .../Include/Util.h | 0 .../Include/framework.h | 0 .../Include/pch.h | 0 .../Patches.cpp | 0 .../PolygonDLL.vcxproj | 10 ++-- .../PolygonDLL.vcxproj.filters | 0 .../Util.cpp | 0 .../dllmain.cpp | 0 .../pch.cpp | 0 README.md | 52 +++++++++++++++---- 28 files changed, 49 insertions(+), 15 deletions(-) rename PolygonDLLUtilities.sln => PolygonDLL.sln (84%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/Application.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/CRoblox.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/Context.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/Crypt.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/Http.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/ServerReplicator.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Hooks/StandardOut.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Classes.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Config.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/Application.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/CRoblox.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/Context.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/Crypt.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/Http.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/ServerReplicator.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Hooks/StandardOut.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Patches.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/Util.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/framework.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Include/pch.h (100%) rename {PolygonClientUtilities => PolygonDLL}/Patches.cpp (100%) rename PolygonClientUtilities/PolygonClientUtilities.vcxproj => PolygonDLL/PolygonDLL.vcxproj (93%) rename PolygonClientUtilities/PolygonClientUtilities.vcxproj.filters => PolygonDLL/PolygonDLL.vcxproj.filters (100%) rename {PolygonClientUtilities => PolygonDLL}/Util.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/dllmain.cpp (100%) rename {PolygonClientUtilities => PolygonDLL}/pch.cpp (100%) diff --git a/PolygonDLLUtilities.sln b/PolygonDLL.sln similarity index 84% rename from PolygonDLLUtilities.sln rename to PolygonDLL.sln index 4d950df..1a36dd7 100644 --- a/PolygonDLLUtilities.sln +++ b/PolygonDLL.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.32014.148 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PolygonClientUtilities", "PolygonClientUtilities\PolygonClientUtilities.vcxproj", "{9D232642-FB2F-43DC-B0AC-C56E3B691233}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PolygonDLL", "PolygonDLL\PolygonDLL.vcxproj", "{9D232642-FB2F-43DC-B0AC-C56E3B691233}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/PolygonClientUtilities/Hooks/Application.cpp b/PolygonDLL/Hooks/Application.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/Application.cpp rename to PolygonDLL/Hooks/Application.cpp diff --git a/PolygonClientUtilities/Hooks/CRoblox.cpp b/PolygonDLL/Hooks/CRoblox.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/CRoblox.cpp rename to PolygonDLL/Hooks/CRoblox.cpp diff --git a/PolygonClientUtilities/Hooks/Context.cpp b/PolygonDLL/Hooks/Context.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/Context.cpp rename to PolygonDLL/Hooks/Context.cpp diff --git a/PolygonClientUtilities/Hooks/Crypt.cpp b/PolygonDLL/Hooks/Crypt.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/Crypt.cpp rename to PolygonDLL/Hooks/Crypt.cpp diff --git a/PolygonClientUtilities/Hooks/Http.cpp b/PolygonDLL/Hooks/Http.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/Http.cpp rename to PolygonDLL/Hooks/Http.cpp diff --git a/PolygonClientUtilities/Hooks/ServerReplicator.cpp b/PolygonDLL/Hooks/ServerReplicator.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/ServerReplicator.cpp rename to PolygonDLL/Hooks/ServerReplicator.cpp diff --git a/PolygonClientUtilities/Hooks/StandardOut.cpp b/PolygonDLL/Hooks/StandardOut.cpp similarity index 100% rename from PolygonClientUtilities/Hooks/StandardOut.cpp rename to PolygonDLL/Hooks/StandardOut.cpp diff --git a/PolygonClientUtilities/Include/Classes.h b/PolygonDLL/Include/Classes.h similarity index 100% rename from PolygonClientUtilities/Include/Classes.h rename to PolygonDLL/Include/Classes.h diff --git a/PolygonClientUtilities/Include/Config.h b/PolygonDLL/Include/Config.h similarity index 100% rename from PolygonClientUtilities/Include/Config.h rename to PolygonDLL/Include/Config.h diff --git a/PolygonClientUtilities/Include/Hooks/Application.h b/PolygonDLL/Include/Hooks/Application.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/Application.h rename to PolygonDLL/Include/Hooks/Application.h diff --git a/PolygonClientUtilities/Include/Hooks/CRoblox.h b/PolygonDLL/Include/Hooks/CRoblox.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/CRoblox.h rename to PolygonDLL/Include/Hooks/CRoblox.h diff --git a/PolygonClientUtilities/Include/Hooks/Context.h b/PolygonDLL/Include/Hooks/Context.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/Context.h rename to PolygonDLL/Include/Hooks/Context.h diff --git a/PolygonClientUtilities/Include/Hooks/Crypt.h b/PolygonDLL/Include/Hooks/Crypt.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/Crypt.h rename to PolygonDLL/Include/Hooks/Crypt.h diff --git a/PolygonClientUtilities/Include/Hooks/Http.h b/PolygonDLL/Include/Hooks/Http.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/Http.h rename to PolygonDLL/Include/Hooks/Http.h diff --git a/PolygonClientUtilities/Include/Hooks/ServerReplicator.h b/PolygonDLL/Include/Hooks/ServerReplicator.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/ServerReplicator.h rename to PolygonDLL/Include/Hooks/ServerReplicator.h diff --git a/PolygonClientUtilities/Include/Hooks/StandardOut.h b/PolygonDLL/Include/Hooks/StandardOut.h similarity index 100% rename from PolygonClientUtilities/Include/Hooks/StandardOut.h rename to PolygonDLL/Include/Hooks/StandardOut.h diff --git a/PolygonClientUtilities/Include/Patches.h b/PolygonDLL/Include/Patches.h similarity index 100% rename from PolygonClientUtilities/Include/Patches.h rename to PolygonDLL/Include/Patches.h diff --git a/PolygonClientUtilities/Include/Util.h b/PolygonDLL/Include/Util.h similarity index 100% rename from PolygonClientUtilities/Include/Util.h rename to PolygonDLL/Include/Util.h diff --git a/PolygonClientUtilities/Include/framework.h b/PolygonDLL/Include/framework.h similarity index 100% rename from PolygonClientUtilities/Include/framework.h rename to PolygonDLL/Include/framework.h diff --git a/PolygonClientUtilities/Include/pch.h b/PolygonDLL/Include/pch.h similarity index 100% rename from PolygonClientUtilities/Include/pch.h rename to PolygonDLL/Include/pch.h diff --git a/PolygonClientUtilities/Patches.cpp b/PolygonDLL/Patches.cpp similarity index 100% rename from PolygonClientUtilities/Patches.cpp rename to PolygonDLL/Patches.cpp diff --git a/PolygonClientUtilities/PolygonClientUtilities.vcxproj b/PolygonDLL/PolygonDLL.vcxproj similarity index 93% rename from PolygonClientUtilities/PolygonClientUtilities.vcxproj rename to PolygonDLL/PolygonDLL.vcxproj index b3b0447..031af67 100644 --- a/PolygonClientUtilities/PolygonClientUtilities.vcxproj +++ b/PolygonDLL/PolygonDLL.vcxproj @@ -14,7 +14,7 @@ 16.0 Win32Proj {9d232642-fb2f-43dc-b0ac-c56e3b691233} - PolygonClientUtilities + PolygonDLL 10.0 x86-windows-static x64-windows-static @@ -48,10 +48,12 @@ true true + Polygon false true + Polygon true @@ -60,7 +62,7 @@ Level3 true - WIN32;_DEBUG;POLYGONCLIENTUTILITIES_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + WIN32;_DEBUG;PolygonDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) true Use pch.h @@ -76,6 +78,7 @@ LIBCMTD.lib + $(OutDir)$(TargetName)$(TargetExt) @@ -85,7 +88,7 @@ false true - WIN32;NDEBUG;POLYGONCLIENTUTILITIES_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + WIN32;NDEBUG;PolygonDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) true Use pch.h @@ -106,6 +109,7 @@ LIBCMT.lib Default + $(OutDir)$(TargetName)$(TargetExt) diff --git a/PolygonClientUtilities/PolygonClientUtilities.vcxproj.filters b/PolygonDLL/PolygonDLL.vcxproj.filters similarity index 100% rename from PolygonClientUtilities/PolygonClientUtilities.vcxproj.filters rename to PolygonDLL/PolygonDLL.vcxproj.filters diff --git a/PolygonClientUtilities/Util.cpp b/PolygonDLL/Util.cpp similarity index 100% rename from PolygonClientUtilities/Util.cpp rename to PolygonDLL/Util.cpp diff --git a/PolygonClientUtilities/dllmain.cpp b/PolygonDLL/dllmain.cpp similarity index 100% rename from PolygonClientUtilities/dllmain.cpp rename to PolygonDLL/dllmain.cpp diff --git a/PolygonClientUtilities/pch.cpp b/PolygonDLL/pch.cpp similarity index 100% rename from PolygonClientUtilities/pch.cpp rename to PolygonDLL/pch.cpp diff --git a/README.md b/README.md index b7cf612..af9e4b5 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,57 @@ -# PolygonDLLUtilities -Manages DLLs for extending game client/server functionality +# PolygonDLL +DLL used for extending game client/server functionality Based off [ndoesstuff/JoinScriptUrlImpl](https://github.com/ndoesstuff/JoinScriptUrlImpl) as per the MIT license Test trust check: -> Insert a new brick with decal -> Try setting decal ID to http://tadah.rocks - Should succeed -> Try setting decal ID to http://tadah.rocks@example.com - Should fail +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 signature check: -> Run `loadfile("rbxasset://signatureinvalid.txt")()` - Should throw an exception -> Run `loadfile("rbxasset://signatureoverflow.txt")()` - Should throw an exception +Test extended signature check: +- Run `loadfile("rbxasset://signatureinvalid.txt")()` - Should throw an exception +- Run `loadfile("rbxasset://signatureoverflow.txt")()` - Should throw an exception +- Run `loadfile("https://tadah.rocks/test/sha256succ")()` - Should succeed (if compiled with the Tadah public key) +- Run `loadfile("https://polygon.pizzaboxer.xyz/Game/Visit.ashx")()` - Should succeed (if compiled with the Project Polygon public key) Test command line parameter reimplementation (2010/2011 builds only): -> `> RobloxApp.exe -a http://polygondev.pizzaboxer.xyz/login/negotiate.ashx -t 0 -j http://polygondev.pizzaboxer.xyz/game/visit.ashx` +- `> RobloxApp.exe -a http://polygondev.pizzaboxer.xyz/login/negotiate.ashx -t 0 -j http://polygondev.pizzaboxer.xyz/game/visit.ashx` Test DataModel creation (Arbiter builds only): -> Run `print("NewGame")` - Should create a new DataModel with an executed script +- Run `print("NewGame")` - Should create a new DataModel with an executed script + +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 + +## Build +PolygonDLL 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; -# vcpkg ``` +> cd > git clone https://github.com/microsoft/vcpkg > .\vcpkg\bootstrap-vcpkg.bat > .\vcpkg\vcpkg integrate install > .\vcpkg\vcpkg integrate project ``` + +PolygonDLL only builds under Win32 for x86 architecture. + +## Usage +The DLL is imported with StudPE under the `import` function name. 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. +- `ARBITERBUILD` +- `MFC2010` +- `MFC2011` +- `PLAYER2012` +- `STUDIO2012` + +You may read the code for further information. + +## License +Copyright (c) Project Polygon and Tadah 2022. All rights reserved. + +Forked with permission. Not for public use. \ No newline at end of file