Merge pull request #1 from kiseki-lol/migration/kisekify

Kisekify
This commit is contained in:
rj 2023-07-13 18:36:52 -07:00 committed by GitHub
commit 9143e64c24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 1851 additions and 1895 deletions

View File

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

View File

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

View File

@ -0,0 +1,61 @@
#pragma once
/*
* This is commented out since our CI defines this automatically.
* Uncomment this if you want to test locally, but please do not push with these uncommented!
*/
// #define SERVER
// #define PLAYER
#define BASE_URL "https://kiseki.lol"
#define DISCORD_APP_ID 0
#define ALLOWED_WILDCARD_DOMAINS "kiseki.lol", "rbxcdn.com", "roblox.com"
#define ALLOWED_DOMAINS
#define ALLOWED_SCHEMES "http", "https"
#define ALLOWED_EMBEDDED_SCHEMES "javascript", "jscript", "res"
#ifdef _DEBUG
#define PUBLIC_KEY ""
#else
#define PUBLIC_KEY 0x00
#endif
// TODO: Verify this
#define CLASSPADDING_DATAMODEL__JOBID 739
#define ADDRESS_HTTP__HTTPGETPOSTWININET 0x0
#define ADDRESS_HTTP__TRUSTCHECK 0x005B7050
#define ADDRESS_CRYPT__VERIFYSIGNATUREBASE64 0x00809EC0
#define ADDRESS_CONTEXT__REQUIREPERMISSION 0x0
#define ADDRESS_CONTEXT__ISINROLE 0x0
#define ADDRESS_DATAMODEL__GETJOBID 0x005E70C0
#define ADDRESS_STANDARDOUT__PRINT 0x005B25E0
#define ADDRESS_SERVERREPLICATOR__SENDTOP 0x00513E80
#define ADDRESS_SERVERREPLICATOR__PROCESSTICKET 0x00514B60
#define ADDRESS_SERVERREPLICATOR__PROCESSPACKET 0x00514B60
#define CLASSLOCATION_CROBLOXAPP 0x00CBA8A0
#define CLASSLOCATION_CAPP 0x00406D80
#define CLASSPADDING_CROBLOXDOC__WORKSPACE 45
#define ADDRESS_CAPP__CREATEGAME 0x00406D80
#define ADDRESS_CAPP__ROBLOXAUTHENTICATE 0x00409050
#define ADDRESS_CROBLOXAPP__INITINSTANCE 0x004613C0
#define ADDRESS_CROBLOXAPP__CREATEDOCUMENT 0x0045D030
#define ADDRESS_CWORKSPACE__EXECURLSCRIPT 0x0049FC90
#define ADDRESS_CROBLOXCOMMANDLINEINFO__PARSEPARAM 0x0045EE50
#define ADDRESS_CCOMMANDLINEINFO__PARSELAST 0x0081354A
#ifndef _DEBUG
#define PADDING_STRUCT 1
#else
#define PADDING_STRUCT 0
#endif
#define RBX__MESSAGE_INFO 0
#define RBX__MESSAGE_OUTPUT 1
#define RBX__MESSAGE_WARNING 2
#define RBX__MESSAGE_ERROR 3

View File

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

View File

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

View File

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

View File

@ -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)";

View File

@ -97,5 +97,5 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv
} }
#ifdef SERVER #ifdef SERVER
void __declspec(dllexport) melo() {} void __declspec(dllexport) entrypoint() {}
#endif #endif

View File

@ -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 # License
Copyright (c) Kiseki 2022-2023. All rights reserved. Not for public use.
## 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
Copyright (c) Tadah and Project Polygon 2022. All rights reserved. Not for public use.

View File

@ -1,56 +0,0 @@
#pragma once
// This is commented out since our CI defines this automatically
// #define SERVER
// #define PLAYER
#define BASE_URL "https://tadah.rocks"
#define DISCORD_APP_ID 923705431543668736
#define ALLOWED_WILDCARD_DOMAINS "tadah.rocks", "rbxcdn.com", "roblox.com"
#define ALLOWED_DOMAINS
#define ALLOWED_SCHEMES "http", "https"
#define ALLOWED_EMBEDDED_SCHEMES "javascript", "jscript", "res"
#ifdef _DEBUG
#define PUBLIC_KEY "BgIAAACkAABSU0ExABAAAAEAAQAVZ+t4ywGMLfMmCbtQv8HNKsSGERgVq+giTsaTbovzYYsX4LRxqQWk81MDX3VlwdpHqcKlZJgsB9xQMt6jSy79f89UZybasguwuljUsFoUCkMinjnnJZuGKJouqq5+OL86q/PafC8xhDIU2GnP/ALcLsk9letXLUR/OFHnD32MkEzbMax89d263LO1T2sjGLQCVM438ATF2GNdqJIEWVLDGqv+4UkN+2otAfOToJ/y+e1L4fFi9xonV0vc8RhOQ8U6WzdKVK+0KpmAncFw/MUYAXtBO37CCVRX4cHQ+9XCFMO9XLBkC9F6GKe1RlhM/YsOqKVBvaiPpWlQFgQQk2VaPO37qjKiAHHAB9Dp3TJbF+5nUgsCHP1Z9f1nwdl1e/XrDSHjktF/r5dCOnwBGwZHsjxL526HdkH+z0OaBvpF+N72iJtIgimueMakpuAZLF5k++QRqsdJf6qgQPHSkXClA0arKM4OUsZt7lHnCnVxHdX/zWqGPhzZvo143OPLgpGvgVextlpJ3E3wFCItSSv85J6wyRd1bh68i9JOOHI08d/EQoa0/b2VqqKMv8XmULwRU7+h/INZbrFnNXT4k9UE3M4WmAfuKqm6/Aej8LAArZJycoCJSPfddUaFICIUlEw6qCayI/EcXxI+zu5ipJHL3FpsjTcnB873+DNWQHCD5g=="
#else
#define PUBLIC_KEY 0x06, 0x02, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x52, 0x53, 0x41, 0x31, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x15, 0x67, 0xeb, 0x78, 0xcb, 0x01, 0x8c, 0x2d, 0xf3, 0x26, 0x09, 0xbb, 0x50, 0xbf, 0xc1, 0xcd, 0x2a, 0xc4, 0x86, 0x11, 0x18, 0x15, 0xab, 0xe8, 0x22, 0x4e, 0xc6, 0x93, 0x6e, 0x8b, 0xf3, 0x61, 0x8b, 0x17, 0xe0, 0xb4, 0x71, 0xa9, 0x05, 0xa4, 0xf3, 0x53, 0x03, 0x5f, 0x75, 0x65, 0xc1, 0xda, 0x47, 0xa9, 0xc2, 0xa5, 0x64, 0x98, 0x2c, 0x07, 0xdc, 0x50, 0x32, 0xde, 0xa3, 0x4b, 0x2e, 0xfd, 0x7f, 0xcf, 0x54, 0x67, 0x26, 0xda, 0xb2, 0x0b, 0xb0, 0xba, 0x58, 0xd4, 0xb0, 0x5a, 0x14, 0x0a, 0x43, 0x22, 0x9e, 0x39, 0xe7, 0x25, 0x9b, 0x86, 0x28, 0x9a, 0x2e, 0xaa, 0xae, 0x7e, 0x38, 0xbf, 0x3a, 0xab, 0xf3, 0xda, 0x7c, 0x2f, 0x31, 0x84, 0x32, 0x14, 0xd8, 0x69, 0xcf, 0xfc, 0x02, 0xdc, 0x2e, 0xc9, 0x3d, 0x95, 0xeb, 0x57, 0x2d, 0x44, 0x7f, 0x38, 0x51, 0xe7, 0x0f, 0x7d, 0x8c, 0x90, 0x4c, 0xdb, 0x31, 0xac, 0x7c, 0xf5, 0xdd, 0xba, 0xdc, 0xb3, 0xb5, 0x4f, 0x6b, 0x23, 0x18, 0xb4, 0x02, 0x54, 0xce, 0x37, 0xf0, 0x04, 0xc5, 0xd8, 0x63, 0x5d, 0xa8, 0x92, 0x04, 0x59, 0x52, 0xc3, 0x1a, 0xab, 0xfe, 0xe1, 0x49, 0x0d, 0xfb, 0x6a, 0x2d, 0x01, 0xf3, 0x93, 0xa0, 0x9f, 0xf2, 0xf9, 0xed, 0x4b, 0xe1, 0xf1, 0x62, 0xf7, 0x1a, 0x27, 0x57, 0x4b, 0xdc, 0xf1, 0x18, 0x4e, 0x43, 0xc5, 0x3a, 0x5b, 0x37, 0x4a, 0x54, 0xaf, 0xb4, 0x2a, 0x99, 0x80, 0x9d, 0xc1, 0x70, 0xfc, 0xc5, 0x18, 0x01, 0x7b, 0x41, 0x3b, 0x7e, 0xc2, 0x09, 0x54, 0x57, 0xe1, 0xc1, 0xd0, 0xfb, 0xd5, 0xc2, 0x14, 0xc3, 0xbd, 0x5c, 0xb0, 0x64, 0x0b, 0xd1, 0x7a, 0x18, 0xa7, 0xb5, 0x46, 0x58, 0x4c, 0xfd, 0x8b, 0x0e, 0xa8, 0xa5, 0x41, 0xbd, 0xa8, 0x8f, 0xa5, 0x69, 0x50, 0x16, 0x04, 0x10, 0x93, 0x65, 0x5a, 0x3c, 0xed, 0xfb, 0xaa, 0x32, 0xa2, 0x00, 0x71, 0xc0, 0x07, 0xd0, 0xe9, 0xdd, 0x32, 0x5b, 0x17, 0xee, 0x67, 0x52, 0x0b, 0x02, 0x1c, 0xfd, 0x59, 0xf5, 0xfd, 0x67, 0xc1, 0xd9, 0x75, 0x7b, 0xf5, 0xeb, 0x0d, 0x21, 0xe3, 0x92, 0xd1, 0x7f, 0xaf, 0x97, 0x42, 0x3a, 0x7c, 0x01, 0x1b, 0x06, 0x47, 0xb2, 0x3c, 0x4b, 0xe7, 0x6e, 0x87, 0x76, 0x41, 0xfe, 0xcf, 0x43, 0x9a, 0x06, 0xfa, 0x45, 0xf8, 0xde, 0xf6, 0x88, 0x9b, 0x48, 0x82, 0x29, 0xae, 0x78, 0xc6, 0xa4, 0xa6, 0xe0, 0x19, 0x2c, 0x5e, 0x64, 0xfb, 0xe4, 0x11, 0xaa, 0xc7, 0x49, 0x7f, 0xaa, 0xa0, 0x40, 0xf1, 0xd2, 0x91, 0x70, 0xa5, 0x03, 0x46, 0xab, 0x28, 0xce, 0x0e, 0x52, 0xc6, 0x6d, 0xee, 0x51, 0xe7, 0x0a, 0x75, 0x71, 0x1d, 0xd5, 0xff, 0xcd, 0x6a, 0x86, 0x3e, 0x1c, 0xd9, 0xbe, 0x8d, 0x78, 0xdc, 0xe3, 0xcb, 0x82, 0x91, 0xaf, 0x81, 0x57, 0xb1, 0xb6, 0x5a, 0x49, 0xdc, 0x4d, 0xf0, 0x14, 0x22, 0x2d, 0x49, 0x2b, 0xfc, 0xe4, 0x9e, 0xb0, 0xc9, 0x17, 0x75, 0x6e, 0x1e, 0xbc, 0x8b, 0xd2, 0x4e, 0x38, 0x72, 0x34, 0xf1, 0xdf, 0xc4, 0x42, 0x86, 0xb4, 0xfd, 0xbd, 0x95, 0xaa, 0xa2, 0x8c, 0xbf, 0xc5, 0xe6, 0x50, 0xbc, 0x11, 0x53, 0xbf, 0xa1, 0xfc, 0x83, 0x59, 0x6e, 0xb1, 0x67, 0x35, 0x74, 0xf8, 0x93, 0xd5, 0x04, 0xdc, 0xce, 0x16, 0x98, 0x07, 0xee, 0x2a, 0xa9, 0xba, 0xfc, 0x07, 0xa3, 0xf0, 0xb0, 0x00, 0xad, 0x92, 0x72, 0x72, 0x80, 0x89, 0x48, 0xf7, 0xdd, 0x75, 0x46, 0x85, 0x20, 0x22, 0x14, 0x94, 0x4c, 0x3a, 0xa8, 0x26, 0xb2, 0x23, 0xf1, 0x1c, 0x5f, 0x12, 0x3e, 0xce, 0xee, 0x62, 0xa4, 0x91, 0xcb, 0xdc, 0x5a, 0x6c, 0x8d, 0x37, 0x27, 0x07, 0xce, 0xf7, 0xf8, 0x33, 0x56, 0x40, 0x70, 0x83, 0xe6
#endif
#define CLASSPADDING_DATAMODEL__JOBID 739
#define ADDRESS_HTTP__HTTPGETPOSTWININET 0x0
#define ADDRESS_HTTP__TRUSTCHECK 0x005B7050
#define ADDRESS_CRYPT__VERIFYSIGNATUREBASE64 0x00809EC0
#define ADDRESS_CONTEXT__REQUIREPERMISSION 0x0
#define ADDRESS_CONTEXT__ISINROLE 0x0
#define ADDRESS_DATAMODEL__GETJOBID 0x005E70C0
#define ADDRESS_STANDARDOUT__PRINT 0x005B25E0
#define ADDRESS_SERVERREPLICATOR__SENDTOP 0x00513E80
#define ADDRESS_SERVERREPLICATOR__PROCESSTICKET 0x00514B60
#define ADDRESS_SERVERREPLICATOR__PROCESSPACKET 0x00514B60
#define CLASSLOCATION_CROBLOXAPP 0x00CBA8A0
#define CLASSLOCATION_CAPP 0x00406D80
#define CLASSPADDING_CROBLOXDOC__WORKSPACE 45
#define ADDRESS_CAPP__CREATEGAME 0x00406D80
#define ADDRESS_CAPP__ROBLOXAUTHENTICATE 0x00409050
#define ADDRESS_CROBLOXAPP__INITINSTANCE 0x004613C0
#define ADDRESS_CROBLOXAPP__CREATEDOCUMENT 0x0045D030
#define ADDRESS_CWORKSPACE__EXECURLSCRIPT 0x0049FC90
#define ADDRESS_CROBLOXCOMMANDLINEINFO__PARSEPARAM 0x0045EE50
#define ADDRESS_CCOMMANDLINEINFO__PARSELAST 0x0081354A
#ifndef _DEBUG
#define PADDING_STRUCT 1
#else
#define PADDING_STRUCT 0
#endif
#define RBX__MESSAGE_INFO 0
#define RBX__MESSAGE_OUTPUT 1
#define RBX__MESSAGE_WARNING 2
#define RBX__MESSAGE_ERROR 3