2021-03-21 14:30:37 -07:00
using System.Collections.Generic ;
2021-03-21 15:34:19 -07:00
using BurnOutSharp.Matching ;
2021-03-21 14:30:37 -07:00
namespace BurnOutSharp.ProtectionType
2020-10-29 10:05:56 -07:00
{
2021-02-26 01:26:49 -08:00
public class ThreeTwoOneStudios : IContentCheck
2020-10-29 10:05:56 -07:00
{
2021-03-23 09:52:09 -07:00
/// <summary>
/// Set of all ContentMatchSets for this protection
/// </summary>
2021-03-23 16:43:23 -07:00
private static readonly List < ContentMatchSet > contentMatchers = new List < ContentMatchSet >
2020-10-29 10:05:56 -07:00
{
2021-03-23 09:52:09 -07:00
// 3 + (char)0x00 + 1 + 2 + (char)0x00 + 1 + (char)0x00 + S + (char)0x00 + t + (char)0x00 + u + (char)0x00 + d + (char)0x00 + i + (char)0x00 + o + (char)0x00 + s + (char)0x00 + + (char)0x00 + A + (char)0x00 + c + (char)0x00 + t + (char)0x00 + i + (char)0x00 + v + (char)0x00 + a + (char)0x00 + t + (char)0x00 + i + (char)0x00 + o + (char)0x00 + n + (char)0x00
new ContentMatchSet ( new byte? [ ]
2021-03-21 14:30:37 -07:00
{
2021-03-23 09:52:09 -07:00
0x33 , 0x00 , 0x32 , 0x00 , 0x31 , 0x00 , 0x53 , 0x00 ,
0x74 , 0x00 , 0x75 , 0x00 , 0x64 , 0x00 , 0x69 , 0x00 ,
0x6F , 0x00 , 0x73 , 0x00 , 0x20 , 0x00 , 0x41 , 0x00 ,
0x63 , 0x00 , 0x74 , 0x00 , 0x69 , 0x00 , 0x76 , 0x00 ,
0x61 , 0x00 , 0x74 , 0x00 , 0x69 , 0x00 , 0x6F , 0x00 ,
0x6E , 0x00
} , "321Studios Online Activation" ) ,
} ;
2020-10-29 10:05:56 -07:00
2021-03-23 09:52:09 -07:00
/// <inheritdoc/>
public string CheckContents ( string file , byte [ ] fileContent , bool includePosition = false )
{
return MatchUtil . GetFirstMatch ( file , fileContent , contentMatchers , includePosition ) ;
2020-10-29 10:05:56 -07:00
}
}
}