Skip to content

Commit c6b3472

Browse files
authored
release: freeRASP 6.4.0 (#101)
* chore(docs): update note about Xcode version * fix(deps): change namespace from "talsec" to "freerasp" * build(deps): bump flutter_plugin_android_lifecycle to 2.0.11 * chore(docs): update CHANGELOG.md * chore(deps): bump plugin version * chore(deps): bump talsec ios framework * feat: Update packages
1 parent cae797f commit c6b3472

31 files changed

+568
-572
lines changed

CHANGELOG.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
1+
# freeRASP 6.4.0
2+
Minor fixes and improvements
3+
4+
## What's new in 6.4.0?
5+
- ⚡ Improved reaction obfuscation
6+
- ⚡ Improved obfuscation of the iOS SDK
7+
- ⚡ Fixed ProviderException on Android
8+
- ⚡ Fixed typo in namespace which caused incompatibility with AGP 8.0
9+
- 📄 Fixed information about Xcode version
10+
- ❗ Raised supported Xcode version to 14.3.1
11+
112
# freeRASP 6.3.0
213
Improved logging of the Android SDK and minor bug fixes
314

415
## What's new in 6.3.0?
516
- 📄 Documentation updates and improvements
6-
- ✔️ updated CA bundle for logging pinning
7-
- ✔️ added error logging of network issues within the logging process
8-
- ✔️ added retry politics for logging
9-
-fixed issue with DeadObjectException on Android 5 and 6 caused by excessive PackageManager.queryIntentActivities() usage
10-
-improved root detection capabilities
17+
- ✔️ Updated CA bundle for logging pinning
18+
- ✔️ Added error logging of network issues within the logging process
19+
- ✔️ Added retry politics for logging
20+
-Fixed issue with DeadObjectException on Android 5 and 6 caused by excessive PackageManager.queryIntentActivities() usage
21+
-Improved root detection capabilities
1122

1223
# freeRASP 6.2.0
1324
Minor fixes and added support for AGP 8.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ and integration script from your project:
9595

9696
**Otherwise, no further setup is required.**
9797

98-
**Note: You need Xcode 13 to be able to build the application.**
98+
**Note: You need Xcode 14.3.1 to be able to build the application.**
9999

100100
### Android setup
101101

android/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package android
2+
13
group 'com.aheaditec.freerasp'
24
version '1.0-SNAPSHOT'
35

@@ -28,8 +30,9 @@ apply plugin: 'kotlin-android'
2830

2931
android {
3032
if (project.android.hasProperty("namespace")) {
31-
namespace("com.aheaditec.talsec")
33+
namespace("com.aheaditec.freerasp")
3234
}
35+
3336
compileSdkVersion 33
3437

3538
compileOptions {
@@ -55,5 +58,5 @@ dependencies {
5558
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
5659

5760
// Talsec SDK
58-
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:8.3.0'
61+
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:9.0.0'
5962
}

android/settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
package android
2+
13
rootProject.name = 'freerasp'
Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
11
package com.aheaditec.freerasp
22

3-
internal enum class Threat(val value: String) {
4-
DEBUG("debug"),
5-
HOOKS("hooks"),
6-
PASSCODE("passcode"),
7-
SIMULATOR("simulator"),
8-
APP_INTEGRITY("appIntegrity"),
9-
OBFUSCATION_ISSUES("obfuscationIssues"),
10-
DEVICE_BINDING("deviceBinding"),
11-
UNOFFICIAL_STORE("unofficialStore"),
12-
PRIVILEGED_ACCESS("privilegedAccess"),
13-
SECURE_HARDWARE_NOT_AVAILABLE("secureHardwareNotAvailable"),
3+
/**
4+
* Sealed class to represent the error codes.
5+
*
6+
* Sealed classes are used because of obfuscation - enums classes are not obfuscated well enough.
7+
*
8+
* @property value integer value of the error code.
9+
*/
10+
internal sealed class Threat(val value: Int) {
11+
object Debug : Threat(1268968002)
12+
13+
object Hooks : Threat(209533833)
14+
15+
object Passcode : Threat(1293399086)
16+
17+
object Simulator : Threat(477190884)
18+
19+
object AppIntegrity : Threat(1115787534)
20+
21+
object ObfuscationIssues : Threat(1001443554)
22+
23+
object DeviceBinding : Threat(1806586319)
24+
25+
object UnofficialStore : Threat(629780916)
26+
27+
object PrivilegedAccess : Threat(44506749)
28+
29+
object SecureHardwareNotAvailable : Threat(1564314755)
1430
}

android/src/main/kotlin/com/aheaditec/freerasp/handlers/PluginThreatHandler.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,43 +26,43 @@ internal object PluginThreatHandler : ThreatDetected, DeviceState {
2626
}
2727

2828
override fun onRootDetected() {
29-
notify(Threat.PRIVILEGED_ACCESS)
29+
notify(Threat.PrivilegedAccess)
3030
}
3131

3232
override fun onDebuggerDetected() {
33-
notify(Threat.DEBUG)
33+
notify(Threat.Debug)
3434
}
3535

3636
override fun onEmulatorDetected() {
37-
notify(Threat.SIMULATOR)
37+
notify(Threat.Simulator)
3838
}
3939

4040
override fun onTamperDetected() {
41-
notify(Threat.APP_INTEGRITY)
41+
notify(Threat.AppIntegrity)
4242
}
4343

4444
override fun onUntrustedInstallationSourceDetected() {
45-
notify(Threat.UNOFFICIAL_STORE)
45+
notify(Threat.UnofficialStore)
4646
}
4747

4848
override fun onHookDetected() {
49-
notify(Threat.HOOKS)
49+
notify(Threat.Hooks)
5050
}
5151

5252
override fun onDeviceBindingDetected() {
53-
notify(Threat.DEVICE_BINDING)
53+
notify(Threat.DeviceBinding)
5454
}
5555

5656
override fun onObfuscationIssuesDetected() {
57-
notify(Threat.OBFUSCATION_ISSUES)
57+
notify(Threat.ObfuscationIssues)
5858
}
5959

6060
override fun onUnlockedDeviceDetected() {
61-
notify(Threat.PASSCODE)
61+
notify(Threat.Passcode)
6262
}
6363

6464
override fun onHardwareBackedKeystoreNotAvailableDetected() {
65-
notify(Threat.SECURE_HARDWARE_NOT_AVAILABLE)
65+
notify(Threat.SecureHardwareNotAvailable)
6666
}
6767

6868
private fun notify(threat: Threat) {

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
97C146E61CF9000F007C117D /* Project object */ = {
156156
isa = PBXProject;
157157
attributes = {
158-
LastUpgradeCheck = 1300;
158+
LastUpgradeCheck = 1430;
159159
ORGANIZATIONNAME = "";
160160
TargetAttributes = {
161161
97C146ED1CF9000F007C117D = {

example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1300"
3+
LastUpgradeVersion = "1430"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

ios/Classes/TalsecHandlers.swift

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
import TalsecRuntime
22

3+
private let unknownValue = -1
4+
private let signatureValue = 1115787534
5+
private let jailbreakValue = 44506749
6+
private let debuggerValue = 1268968002
7+
private let runtimeManipulationValue = 209533833
8+
private let passcodeValue = 1293399086
9+
private let simulatorValue = 477190884
10+
private let missingSecureEnclaveValue = 1564314755
11+
private let deviceChangeValue = 1806586319
12+
private let deviceIDValue = 1514211414
13+
private let unofficialStoreValue = 629780916
14+
315
/// Extension with submits events to plugin
416
extension SecurityThreatCenter: SecurityThreatHandler {
517

@@ -10,32 +22,32 @@ extension SecurityThreatCenter: SecurityThreatHandler {
1022

1123
/// An extension to unify callback names with Flutter ones.
1224
extension SecurityThreat {
13-
var callbackIdentifier: String {
25+
var callbackIdentifier: Int {
1426
switch self {
1527
case .signature:
16-
return "appIntegrity"
28+
return signatureValue
1729
case .jailbreak:
18-
return "privilegedAccess"
30+
return jailbreakValue
1931
case .debugger:
20-
return "debug"
32+
return debuggerValue
2133
case .runtimeManipulation:
22-
return "hooks"
34+
return runtimeManipulationValue
2335
case .passcode:
24-
return "passcode"
36+
return passcodeValue
2537
case .passcodeChange:
26-
return "passcodeChange"
38+
return unknownValue
2739
case .simulator:
28-
return "simulator"
40+
return simulatorValue
2941
case .missingSecureEnclave:
30-
return "secureHardwareNotAvailable"
42+
return missingSecureEnclaveValue
3143
case .deviceChange:
32-
return "deviceBinding"
44+
return deviceChangeValue
3345
case .deviceID:
34-
return "deviceId"
46+
return deviceIDValue
3547
case .unofficialStore:
36-
return "unofficialStore"
48+
return unofficialStoreValue
3749
@unknown default:
38-
return "unknown"
50+
return unknownValue
3951
}
4052
}
4153
}

ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <unistd.h>
1717
#include <string.h>
1818

19-
struct kBbxcmydgpEs {
19+
struct aTgpGSDJLteG {
2020
char *memory;
2121
size_t size;
2222
CURLcode ret;

0 commit comments

Comments
 (0)