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