Skip to content

Commit 1fabb32

Browse files
committed
fix: implemented code review suggestions made by martin
1 parent 011fa29 commit 1fabb32

File tree

12 files changed

+217
-277
lines changed

12 files changed

+217
-277
lines changed

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

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.unity.free.rasp;
22

33
import android.content.Context;
4-
import android.util.Log;
54

65
import com.unity3d.player.UnityPlayer;
76
import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo;
@@ -51,12 +50,12 @@ public void setUnityGameObjectCallback(String gameObjectName) {
5150

5251
@Override
5352
public void onRootDetected() {
54-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onPrivilegedAccess");
53+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onPrivilegedAccess");
5554
}
5655

5756
@Override
5857
public void onTamperDetected() {
59-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onAppIntegrity");
58+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onAppIntegrity");
6059
}
6160

6261
@Override
@@ -66,66 +65,66 @@ public void onMalwareDetected(List<SuspiciousAppInfo> list) {
6665

6766
@Override
6867
public void onDebuggerDetected() {
69-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onDebug");
68+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onDebug");
7069
}
7170

7271
@Override
7372
public void onEmulatorDetected() {
74-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onSimulator");
73+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onSimulator");
7574
}
7675

7776
@Override
7877
public void onUntrustedInstallationSourceDetected() {
79-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onUnofficialStore");
78+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onUnofficialStore");
8079
}
8180

8281
@Override
8382
public void onHookDetected() {
84-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onHook");
83+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onRuntimeManipulation");
8584
}
8685

8786
@Override
8887
public void onDeviceBindingDetected() {
89-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onDeviceBinding");
88+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onDeviceBinding");
9089
}
9190

9291
@Override
9392
public void onObfuscationIssuesDetected() {
94-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onObfuscationIssues");
93+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onObfuscationIssues");
9594
}
9695

9796
@Override
9897
public void onScreenshotDetected() {
99-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onScreenshot");
98+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onScreenshot");
10099
}
101100

102101
@Override
103102
public void onScreenRecordingDetected() {
104-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onScreenRecording");
103+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onScreenRecording");
105104
}
106105

107106
@Override
108107
public void onUnlockedDeviceDetected() {
109-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onPasscode");
108+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onPasscode");
110109
}
111110

112111
@Override
113112
public void onHardwareBackedKeystoreNotAvailableDetected() {
114-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onSecureHardwareNotAvailable");
113+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onSecureHardwareNotAvailable");
115114
}
116115

117116
@Override
118117
public void onDeveloperModeDetected() {
119-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onDevMode");
118+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onDevMode");
120119
}
121120

122121
@Override
123122
public void onADBEnabledDetected() {
124-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onADBEnabled");
123+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onADBEnabled");
125124
}
126125

127126
@Override
128127
public void onSystemVPNDetected() {
129-
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResultAndroid", "onSystemVPN");
128+
UnityPlayer.UnitySendMessage(this.gameObjectName, "scanResult", "onSystemVPN");
130129
}
131130
}

Plugins/freeRASP/AndroidConfig.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
*
3+
* var androidConfig = new AndroidConfig
4+
* {
5+
* packageName = "com.example.app",
6+
* signingCertificateHashBase64 = new string[] { "hash1", "hash2" },
7+
* supportedAlternativeStores = new string[] { "store1", "store2" }
8+
* };
9+
*
10+
**/
11+
/// <summary>
12+
/// Struct containing Android-specific parameters for Talsec initialization
13+
/// </summary>
14+
[System.Serializable]
15+
public struct AndroidConfig
16+
{
17+
public string packageName;
18+
public string[] signingCertificateHashBase64;
19+
public string[] supportedAlternativeStores;
20+
21+
/// <summary>
22+
/// Constructor for AndroidConfig with required packageName
23+
/// </summary>
24+
/// <param name="packageName">Required Android package name</param>
25+
/// <param name="signingCertificateHashBase64">Optional array of signing certificate hashes</param>
26+
/// <param name="supportedAlternativeStores">Optional array of supported alternative stores</param>
27+
public AndroidConfig(string packageName, string[] signingCertificateHashBase64 = null, string[] supportedAlternativeStores = null)
28+
{
29+
this.packageName = packageName ?? throw new System.ArgumentNullException(nameof(packageName), "Package name is required");
30+
this.signingCertificateHashBase64 = signingCertificateHashBase64;
31+
this.supportedAlternativeStores = supportedAlternativeStores;
32+
}
33+
}

Plugins/freeRASP/AndroidConfig.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Plugins/freeRASP/IOSConfigs.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
*
3+
* var iosConfig = new IOSConfig
4+
* {
5+
* appBundleIds = new string[] { "com.example.app" },
6+
* appTeamId = "TEAM123"
7+
* };
8+
*
9+
*
10+
**/
11+
/// <summary>
12+
/// Struct containing iOS-specific parameters for Talsec initialization
13+
/// </summary>
14+
[System.Serializable]
15+
public struct IOSConfig
16+
{
17+
public string[] appBundleIds;
18+
public string appTeamId;
19+
20+
/// <summary>
21+
/// Creates an iOS configuration with bundle IDs and team ID.
22+
/// </summary>
23+
/// <param name="bundleIds">Required iOS app bundle identifiers</param>
24+
/// <param name="teamId">Apple Developer Team ID</param>
25+
public IOSConfig(string[] bundleIds, string teamId)
26+
{
27+
if (bundleIds == null || bundleIds.Length == 0)
28+
throw new System.ArgumentException("At least one bundle ID is required");
29+
30+
appBundleIds = bundleIds;
31+
appTeamId = teamId;
32+
}
33+
}

Plugins/freeRASP/IOSConfigs.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)