diff --git a/BinaryObjectScanner/Protection/UbisoftOrbit.cs b/BinaryObjectScanner/Protection/UbisoftOrbit.cs
new file mode 100644
index 00000000..3d8fe22c
--- /dev/null
+++ b/BinaryObjectScanner/Protection/UbisoftOrbit.cs
@@ -0,0 +1,38 @@
+using System.Collections.Generic;
+using BinaryObjectScanner.Interfaces;
+using SabreTools.Matching;
+using SabreTools.Matching.Paths;
+
+namespace BinaryObjectScanner.Protection
+{
+ ///
+ /// Ubitsoft Orbit (Online DRM)
+ ///
+ /// TODO: Investigate the DLLs to find more markers
+ public class UbisoftOrbit : IPathCheck
+ {
+ ///
+ public List CheckDirectoryPath(string path, List? files)
+ {
+ var matchers = new List
+ {
+ new(new FilePathMatch("GameOrbit.dll"), "Ubisoft Orbit"),
+ new(new FilePathMatch("ubiorbitapi_r2_loader.dll"), "Ubisoft Orbit"),
+ };
+
+ return MatchUtil.GetAllMatches(files, matchers, any: true);
+ }
+
+ ///
+ public string? CheckFilePath(string path)
+ {
+ var matchers = new List
+ {
+ new(new FilePathMatch("GameOrbit.dll"), "Ubisoft Orbit"),
+ new(new FilePathMatch("ubiorbitapi_r2_loader.dll"), "Ubisoft Orbit"),
+ };
+
+ return MatchUtil.GetFirstMatch(path, matchers, any: true);
+ }
+ }
+}
diff --git a/BinaryObjectScanner/Protection/Uplay.cs b/BinaryObjectScanner/Protection/Uplay.cs
index f1fa4d2c..9994845b 100644
--- a/BinaryObjectScanner/Protection/Uplay.cs
+++ b/BinaryObjectScanner/Protection/Uplay.cs
@@ -6,7 +6,9 @@ using SabreTools.Serialization.Wrappers;
namespace BinaryObjectScanner.Protection
{
- // Got renamed to Ubisoft Connect / Ubisoft Game Launcher
+ ///
+ /// Got renamed to Ubisoft Connect / Ubisoft Game Launcher
+ ///
public class Uplay : IExecutableCheck, IPathCheck
{
///
diff --git a/README.md b/README.md
index 847ff79c..74008a1b 100644
--- a/README.md
+++ b/README.md
@@ -123,6 +123,7 @@ Below is a list of protections detected by BinaryObjectScanner. The two columns
| Themida/WinLicense/Code Virtualizer | True | False | Only certain products/versions currently detected |
| ~~Tivola Ring Protection~~ | False | True | Existing checks found to actually be indicators of copy-X, rather than some Tivola-specific ring protection. |
| TZCopyProtection | False | True | Partially unconfirmed² |
+| Ubisoft Orbit | False | True | |
| Uniloc SoftAnchor | True | True | Version finding is not implemented |
| Uplay | True | True | |
| Windows Media Data Session DRM | True | True | |