Compare commits

..

No commits in common. "master" and "v1.0.0" have entirely different histories.

8 changed files with 12 additions and 13 deletions

View File

@ -1,17 +1,12 @@
# <img src="https://git.randomserver.top/murdle/roblox-patcher/raw/branch/master/images/logo.png" width="32" height="32" /> Roblox Legacy Patcher # Roblox Legacy Patcher
## What is this? ## What is this?
This is a program which automatically downloads the latest version of Roblox Studio and makes it work on Windows 8.1 and below. It uses a wrapper in order to add some missing Windows APIs and trick Roblox into thinking your OS version is supported. This is an application which automatically downloads the latest version of Roblox Studio and makes it work on Windows 8.1 and below. It uses a wrapper in order to add some missing Windows APIs and trick Roblox into thinking your OS version is supported.
## Download ## Notice
You can download a prebuilt version of the program <a href="https://git.randomserver.top/murdle/roblox-patcher/releases">here</a> Currently, the application only allows you to run Roblox Studio. Because of Roblox's anticheat (aka Hyperion), we have not been able to get the client to work as of right now.
<img src="https://git.randomserver.top/murdle/roblox-patcher/raw/branch/master/images/preview.png" width="1000" height="800" />
## How to build ## How to build
- Install Visual Studio 2015 and .NET SDK 8 - Install Visual Studio 2015 and .NET SDK 8
- Clone the repository - Clone the repository
- Run the build.bat script - Run the build.bat script
<br>The built file will be located in the root of directory <br>The built file will be located in the root of directory
## Future plans
Currently, the application only allows you to run Roblox Studio. Because of Roblox's anticheat (aka Hyperion), we have not been able to get the client to work as of right now. If we do get it to work, chances are the client hyperion bypass will be **closed source** to not suffer a similar fate to [Vinegar](https://vinegarhq.org/Home/rol_faq.html).

View File

@ -2,7 +2,7 @@
namespace RobloxLegacy.Utilities; namespace RobloxLegacy.Utilities;
public static class Registry public class Registry
{ {
private static RegistryKey? OpenKey(bool writable = true) private static RegistryKey? OpenKey(bool writable = true)
{ {

View File

@ -10,11 +10,11 @@ public class Resource(string name)
return assembly.GetManifestResourceStream($"RobloxLegacy.Resources.{name}"); return assembly.GetManifestResourceStream($"RobloxLegacy.Resources.{name}");
} }
public byte[] GetBytes() public byte[]? GetBytes()
{ {
using var stream = GetStream(); using var stream = GetStream();
if (stream == null) if (stream == null)
throw new Exception($"Failed to get {name} resource"); return null;
using var ms = new MemoryStream(); using var ms = new MemoryStream();
stream.CopyTo(ms); stream.CopyTo(ms);

View File

@ -7,6 +7,7 @@ namespace RobloxLegacy.Utilities;
// https://stackoverflow.com/a/14632782 // https://stackoverflow.com/a/14632782
public static class Shortcut public static class Shortcut
{ {
[ComImport] [ComImport]
[Guid("00021401-0000-0000-C000-000000000046")] [Guid("00021401-0000-0000-C000-000000000046")]
private class ShellLink private class ShellLink

View File

@ -58,6 +58,8 @@ public class VersionManager : IDisposable
private void WriteAppSettings() private void WriteAppSettings()
{ {
var appSettings = new Resource("AppSettings.xml").GetBytes(); var appSettings = new Resource("AppSettings.xml").GetBytes();
if (appSettings == null)
throw new Exception("Failed to get AppSettings resource");
File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), "AppSettings.xml"), appSettings); File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), "AppSettings.xml"), appSettings);
} }
@ -71,6 +73,8 @@ public class VersionManager : IDisposable
// now we can write the dll to the folder // now we can write the dll to the folder
var dllContents = new Resource(DllName).GetBytes(); var dllContents = new Resource(DllName).GetBytes();
if (dllContents == null)
throw new Exception("Failed to get dll resource");
File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), DllName), dllContents); File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), DllName), dllContents);
} }

View File

@ -1 +0,0 @@
// more apis will be added here.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1012 KiB