Class IOSJailbreakDetector
Detects whether the running iOS device is jailbroken using native heuristics (URL schemes, suspicious paths,
sandbox violation, optional fork(), DYLD_INSERT_LIBRARIES, and loaded tweak dylibs).
Implements
Inherited Members
Namespace: GUPS.AntiCheat.Detector.IOS
Assembly: cs.temp.dll.dll
Syntax
public class IOSJailbreakDetector : ADetector
Remarks
Delegates the actual scanning to a native Objective-C++ plugin (libGupsAntiCheatJailbreak) through
Detection categories can be toggled individually through the global AntiCheat settings (Project Settings - GuardingPearSoftware - AntiCheat - iOS). The detector reports each distinct EIOSJailbreakType only once per game session to keep the punisher chain quiet on devices that match several categories at the same time.
Fields
CheckOnlyOnGameStart
Run the jailbreak scan only once on game start. Disable to also run a periodic recheck.
Declaration
public bool CheckOnlyOnGameStart
Field Value
| Type | Description |
|---|---|
| System.Boolean |
OnCheatingDetectionEvent
Unity event raised on every detection. Useful to wire up reactions through the inspector without writing
an
Declaration
public CheatingDetectionEvent<IOSJailbreakDetectionStatus> OnCheatingDetectionEvent
Field Value
| Type | Description |
|---|---|
| CheatingDetectionEvent<IOSJailbreakDetectionStatus> |
RecheckIntervalForPossibleCheating
Interval in seconds between jailbreak scans.
Declaration
public float RecheckIntervalForPossibleCheating
Field Value
| Type | Description |
|---|---|
| System.Single |
Properties
IsSupported
Gets a value indicating whether the detector is supported on the current platform.
Declaration
public override bool IsSupported { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Overrides
Name
Gets the human-readable name of the detector.
Declaration
public override String Name { get; }
Property Value
| Type | Description |
|---|---|
| String |
Overrides
PossibilityOfFalsePositive
Gets the false-positive likelihood reported with each detection.
Declaration
public float PossibilityOfFalsePositive { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
PossibleCheatingDetected
Gets a value indicating whether the detector has observed possible cheating activity.
Declaration
public override bool PossibleCheatingDetected { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Overrides
ThreatRating
Gets the threat rating reported with every detection. Higher values denote greater perceived threats.
Declaration
public override uint ThreatRating { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.UInt32 |
Overrides
Methods
ManualScan()
Performs a single jailbreak scan and notifies observers and event listeners for every new hit.
Declaration
public bool ManualScan()
Returns
| Type | Description |
|---|---|
| System.Boolean |
|
OnCompleted()
Called when an observed subject signals completion.
Declaration
public override void OnCompleted()
Overrides
OnError(Exception)
Called when an observed subject reports an error.
Declaration
public override void OnError(Exception _Error)
Parameters
| Type | Name | Description |
|---|---|---|
| Exception | _Error | The error reported by the observed subject. |
Overrides
OnNext(IWatchedSubject)
Called when an observed subject publishes a new status.
Declaration
public override void OnNext(IWatchedSubject _Subject)
Parameters
| Type | Name | Description |
|---|---|---|
| IWatchedSubject | _Subject | The status published by the observed subject. |
Overrides
Start()
Caches the platform probe, runs the first scan and starts the periodic recheck loop when configured.
Declaration
protected virtual void Start()