Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 2.41 KB

README.md

File metadata and controls

55 lines (42 loc) · 2.41 KB

PolygonDLL

DLL used for extending game client/server functionality

Based off ndoesstuff/JoinScriptUrlImpl as per the MIT license

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://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

Test DataModel creation (Arbiter builds only):

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

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.