Skip to content

Commit a2409fb

Browse files
committed
ThreatListener.DeviceState added
1 parent 6ae9f43 commit a2409fb

5 files changed

Lines changed: 68 additions & 5 deletions

File tree

Plugins/Android/freeRASP.androidlib/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ android {
3131

3232

3333
dependencies {
34-
//implementation fileTree(dir: 'libs', include: ['*.jar'])
3534
compileOnly files('libs/unity-classes.jar')
3635
// freeRASP SDK
37-
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community:15.0.0'
36+
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community:15.1.0'
3837
// test dep
3938
implementation("com.google.code.gson:gson:2.13.1")
4039
}

Plugins/Android/freeRASP.androidlib/src/main/java/com/unity/free/rasp/Controller.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import java.util.List;
1313

14-
public class Controller implements ThreatListener.ThreatDetected
14+
public class Controller implements ThreatListener.ThreatDetected, ThreatListener.DeviceState
1515
{
1616
private static final String TAG = Controller.class.getSimpleName();
1717
private boolean talSecInitialized;
@@ -31,7 +31,7 @@ public void initializeTalsec(Context context, String packageName,
3131
.watcherMail(watcherEmailAddress)
3232
.prod(isProd)
3333
.build();
34-
ThreatListener threatListener = new ThreatListener(this);
34+
ThreatListener threatListener = new ThreatListener(this, this);
3535
threatListener.registerListener(context);
3636
Talsec.start(context, config);
3737
talSecInitialized = true;
@@ -96,4 +96,29 @@ public void onScreenshotDetected() {
9696
public void onScreenRecordingDetected() {
9797
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onScreenRecordingDetected");
9898
}
99+
100+
@Override
101+
public void onUnlockedDeviceDetected() {
102+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onUnlockedDeviceDetected");
103+
}
104+
105+
@Override
106+
public void onHardwareBackedKeystoreNotAvailableDetected() {
107+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onHardwareBackedKeystoreNotAvailableDetected");
108+
}
109+
110+
@Override
111+
public void onDeveloperModeDetected() {
112+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onDeveloperModeDetected");
113+
}
114+
115+
@Override
116+
public void onADBEnabledDetected() {
117+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onADBEnabledDetected");
118+
}
119+
120+
@Override
121+
public void onSystemVPNDetected() {
122+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onSystemVPNDetected");
123+
}
99124
}

Plugins/freeRASP/AndroidThreatDetectedCallback.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,9 @@ public interface AndroidThreatDetectedCallback
1313
void onObfuscationIssuesDetected();
1414
void onScreenshotDetected();
1515
void onScreenRecordingDetected();
16+
void onUnlockedDeviceDetected();
17+
void onHardwareBackedKeystoreNotAvailableDetected();
18+
void onDeveloperModeDetected();
19+
void onADBEnabledDetected();
20+
void onSystemVPNDetected();
1621
}

Plugins/freeRASP/Talsec.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ public void scanResultIOS(string threatType)
154154

155155
// this method is called by the java side module
156156
public void scanResultAndroid(string talsecScanResultCallbackName) {
157-
// Debug.Log("Scan Result Callback Name: " + talsecScanResultCallbackName);
158157
if (Application.platform == RuntimePlatform.Android)
159158
{
160159
switch(talsecScanResultCallbackName) {
@@ -188,6 +187,21 @@ public void scanResultAndroid(string talsecScanResultCallbackName) {
188187
case "onDeviceBindingDetected":
189188
this.androidCallback.onDeviceBindingDetected();
190189
break;
190+
case "onUnlockedDeviceDetected":
191+
this.androidCallback.onUnlockedDeviceDetected();
192+
break;
193+
case "onHardwareBackedKeystoreNotAvailableDetected":
194+
this.androidCallback.onHardwareBackedKeystoreNotAvailableDetected();
195+
break;
196+
case "onDeveloperModeDetected":
197+
this.androidCallback.onDeveloperModeDetected();
198+
break;
199+
case "onADBEnabledDetected":
200+
this.androidCallback.onADBEnabledDetected();
201+
break;
202+
case "onSystemVPNDetected":
203+
this.androidCallback.onSystemVPNDetected();
204+
break;
191205
}
192206
}
193207
}

Samples/freeRASPTestApp/Scripts/AndroidGame.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,25 @@ public void onHookDetected() {
7575
public void onDeviceBindingDetected() {
7676
Debug.Log("Unity - Device binding detected");
7777
}
78+
79+
public void onUnlockedDeviceDetected() {
80+
Debug.Log("Unity - Unlocked device detected");
81+
}
82+
83+
public void onHardwareBackedKeystoreNotAvailableDetected() {
84+
Debug.Log("Unity - Hardware backed keystore not available detected");
85+
}
86+
87+
public void onDeveloperModeDetected() {
88+
Debug.Log("Unity - Developer mode detected");
89+
}
90+
91+
public void onADBEnabledDetected() {
92+
Debug.Log("Unity - ADB enabled detected");
93+
}
94+
95+
public void onSystemVPNDetected() {
96+
Debug.Log("Unity - System VPN detected");
97+
}
7898
}
7999
}

0 commit comments

Comments
 (0)