clean up entire solution

This commit is contained in:
lightbulblighter 2022-06-07 02:20:11 -07:00
parent ad730e446c
commit 572799fa5a
No known key found for this signature in database
GPG Key ID: 0B2452F9DE0E2D01
28 changed files with 49 additions and 15 deletions

View File

@ -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

View File

@ -14,7 +14,7 @@
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{9d232642-fb2f-43dc-b0ac-c56e3b691233}</ProjectGuid>
<RootNamespace>PolygonClientUtilities</RootNamespace>
<RootNamespace>PolygonDLL</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
@ -48,10 +48,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
<TargetName>Polygon</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<EnableManagedIncrementalBuild>true</EnableManagedIncrementalBuild>
<TargetName>Polygon</TargetName>
</PropertyGroup>
<PropertyGroup Label="Vcpkg">
<VcpkgEnableManifest>true</VcpkgEnableManifest>
@ -60,7 +62,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;POLYGONCLIENTUTILITIES_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;PolygonDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
@ -76,6 +78,7 @@
<IgnoreAllDefaultLibraries>
</IgnoreAllDefaultLibraries>
<IgnoreSpecificDefaultLibraries>LIBCMTD.lib</IgnoreSpecificDefaultLibraries>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -85,7 +88,7 @@
</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;POLYGONCLIENTUTILITIES_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;PolygonDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
@ -106,6 +109,7 @@
</IgnoreAllDefaultLibraries>
<IgnoreSpecificDefaultLibraries>LIBCMT.lib</IgnoreSpecificDefaultLibraries>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>

View File

@ -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 <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
```
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.