Skip to content

Commit 19e008f

Browse files
committed
fix: add robust version parsing in Abjure.CheckMalbox (Merge a3260a7)
1 parent fc0639c commit 19e008f

2 files changed

Lines changed: 29 additions & 6 deletions

File tree

Launcher.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
5. publish-release.yml GitHub Actions workflow
1111
-->
1212
<TargetFramework>net10.0</TargetFramework>
13-
<Version>0.37.1.42</Version>
13+
<Version>0.37.1.43</Version>
1414
<UseRidGraph>true</UseRidGraph>
1515

1616
<!--

Marsey/Stealthsey/Abjure.cs

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,42 @@
11
using Marsey.Config;
2+
using System;
3+
using System.Text.RegularExpressions;
24

35
namespace Marsey.Stealthsey;
46

57
public static class Abjure
68
{
79
private static Version? engineVer { get; set; }
810

9-
/// <summary>
10-
/// Checks against version with detection methods
11-
/// </summary>
12-
/// <returns>True if version is equal or over with detection and hidesey is disabled</returns>
1311
public static bool CheckMalbox(string engineversion, HideLevel MarseyHide)
1412
{
15-
engineVer = new Version(engineversion);
13+
if (!TryParseEngineVersion(engineversion, out var parsed))
14+
{
15+
parsed = new Version(0, 0);
16+
}
17+
18+
engineVer = parsed;
1619

1720
return engineVer >= MarseyVars.Detection && MarseyHide == HideLevel.Disabled;
1821
}
22+
23+
private static bool TryParseEngineVersion(string engineVersion, out Version? parsed)
24+
{
25+
if (Version.TryParse(engineVersion, out var direct))
26+
{
27+
parsed = direct;
28+
return true;
29+
}
30+
31+
var match = Regex.Match(engineVersion, @"\d+(\.\d+)+");
32+
33+
if (match.Success && Version.TryParse(match.Value, out var extracted))
34+
{
35+
parsed = extracted;
36+
return true;
37+
}
38+
39+
parsed = null;
40+
return false;
41+
}
1942
}

0 commit comments

Comments
 (0)