freerasp-react-native 2.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -39
- package/android/build.gradle +7 -3
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +4 -0
- package/example/android/app/build.gradle +9 -1
- package/example/android/build.gradle +1 -1
- package/example/ios/Podfile +5 -0
- package/example/src/App.tsx +5 -5
- package/example/src/checks.ts +3 -4
- package/ios/FreeraspReactNative.swift +11 -8
- package/ios/TalsecRuntime.xcframework/Info.plist +5 -5
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +21 -14
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +21 -14
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +21 -14
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +13 -13
- package/lib/commonjs/index.js +3 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +4 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.tsx +5 -1
- package/example/ios/Podfile.lock +0 -590
package/README.md
CHANGED
|
@@ -94,7 +94,19 @@ or
|
|
|
94
94
|
|
|
95
95
|
### Android
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
freeRASP for Android requires a minimum **SDK** level of **23**. React Native projects, by default, support even lower levels of minimum SDK. This creates an inconsistency we must solve by updating the minimum SDK level of the application:
|
|
98
|
+
|
|
99
|
+
1. From the root of your project, go to **android > build.gradle**.
|
|
100
|
+
1. In **buildscript**, update **minSdkVersion** to at least **23** (Android 6.0) or higher.
|
|
101
|
+
|
|
102
|
+
```groovy
|
|
103
|
+
buildscript {
|
|
104
|
+
ext {
|
|
105
|
+
minSdkVersion 23
|
|
106
|
+
...
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
98
110
|
|
|
99
111
|
### iOS
|
|
100
112
|
|
|
@@ -222,9 +234,9 @@ const actions = {
|
|
|
222
234
|
deviceID: () => {
|
|
223
235
|
console.log('deviceID');
|
|
224
236
|
},
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
console.log('
|
|
237
|
+
// Android only
|
|
238
|
+
obfuscationIssues: () => {
|
|
239
|
+
console.log('obfuscationIssues');
|
|
228
240
|
},
|
|
229
241
|
};
|
|
230
242
|
|
|
@@ -273,23 +285,15 @@ _You can override this default behavior by extending the `actions` object with `
|
|
|
273
285
|
|
|
274
286
|
## Step 5: Additional note about obfuscation
|
|
275
287
|
|
|
276
|
-
The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order
|
|
288
|
+
The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order to provide as much protection as possible, freeRASP obfuscates its source code. However, if all other code is not obfuscated, one can easily deduct that the obfuscated code belongs to a security library. We, therefore, encourage you to apply code obfuscation to your app, making the public API more difficult to find and also partially randomized for each application so it cannot be automatically abused by generic hooking scripts.
|
|
277
289
|
|
|
278
|
-
|
|
290
|
+
Probably the easiest way to obfuscate your app is via code minification, a technique that reduces the size of the compiled code by removing unnecessary characters, whitespace, and renaming variables and functions to shorter names. It can be configured for Android devices in **android/app/build.gradle** like so:
|
|
279
291
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
- https://developer.android.com/studio/build/shrink-code
|
|
283
|
-
- https://www.guardsquare.com/manual/configuration/usage
|
|
284
|
-
|
|
285
|
-
You can make sure, that the obfuscation is enabled by checking the value of **minifyEnabled** property in your **module's build.gradle** file.
|
|
286
|
-
|
|
287
|
-
```gradle
|
|
292
|
+
```groovy
|
|
288
293
|
android {
|
|
289
|
-
...
|
|
290
|
-
|
|
291
294
|
buildTypes {
|
|
292
295
|
release {
|
|
296
|
+
...
|
|
293
297
|
minifyEnabled true
|
|
294
298
|
shrinkResources true
|
|
295
299
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
@@ -298,6 +302,15 @@ android {
|
|
|
298
302
|
}
|
|
299
303
|
```
|
|
300
304
|
|
|
305
|
+
Please note that some other modules in your app may rely on reflection, therefore it may be necessary to add corresponding keep rules into proguard-rules.pro file.
|
|
306
|
+
|
|
307
|
+
If there is a problem with the obfuscation, freeRASP will notify you about it via `obfuscationIssues` callback.
|
|
308
|
+
|
|
309
|
+
You can read more about Android obfuscation in the official documentation:
|
|
310
|
+
|
|
311
|
+
- https://developer.android.com/studio/build/shrink-code
|
|
312
|
+
- https://www.guardsquare.com/manual/configuration/usage
|
|
313
|
+
|
|
301
314
|
## Step 6: User Data Policies
|
|
302
315
|
|
|
303
316
|
See the generic info about freeRASP data collection [here](https://github.com/talsec/Free-RASP-Community/tree/master#data-collection-processing-and-gdpr-compliance).
|
|
@@ -400,25 +413,25 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
|
|
|
400
413
|
<td colspan=5><strong>Runtime App Self Protection (RASP, app shielding)</strong></td>
|
|
401
414
|
</tr>
|
|
402
415
|
<tr>
|
|
403
|
-
<td>Advanced root/jailbreak protections</td>
|
|
416
|
+
<td>Advanced root/jailbreak protections (including Magisk)</td>
|
|
404
417
|
<td>basic</td>
|
|
405
418
|
<td>advanced</td>
|
|
406
419
|
</tr>
|
|
407
420
|
<tr>
|
|
408
|
-
<td>Runtime reverse engineering controls
|
|
421
|
+
<td>Runtime reverse engineering controls
|
|
409
422
|
<ul>
|
|
410
|
-
<li>
|
|
411
|
-
<li>Emulator</li>
|
|
412
|
-
<li>Hooking
|
|
423
|
+
<li>Debugger</li>
|
|
424
|
+
<li>Emulator / Simulator</li>
|
|
425
|
+
<li>Hooking and reversing frameworks (e.g. Frida, Magisk, XPosed, Cydia Substrate and more)</li>
|
|
413
426
|
</ul>
|
|
414
427
|
</td>
|
|
415
428
|
<td>basic</td>
|
|
416
429
|
<td>advanced</td>
|
|
417
430
|
</tr>
|
|
418
431
|
<tr>
|
|
419
|
-
<td>Runtime integrity controls
|
|
432
|
+
<td>Runtime integrity controls
|
|
420
433
|
<ul>
|
|
421
|
-
<li>
|
|
434
|
+
<li>Tampering protection</li>
|
|
422
435
|
<li>Repackaging / Cloning protection</li>
|
|
423
436
|
<li>Device binding protection</li>
|
|
424
437
|
<li>Unofficial store detection</li>
|
|
@@ -428,20 +441,22 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
|
|
|
428
441
|
<td>advanced</td>
|
|
429
442
|
</tr>
|
|
430
443
|
<tr>
|
|
431
|
-
<td>Device OS security status check
|
|
444
|
+
<td>Device OS security status check
|
|
432
445
|
<ul>
|
|
433
446
|
<li>HW security module control</li>
|
|
434
447
|
<li>Screen lock control</li>
|
|
448
|
+
<li>Google Play Services enabled/disabled</li>
|
|
449
|
+
<li>Last security patch update</li>
|
|
435
450
|
</ul>
|
|
436
451
|
</td>
|
|
437
452
|
<td>yes</td>
|
|
438
453
|
<td>yes</td>
|
|
439
454
|
</tr>
|
|
440
455
|
<tr>
|
|
441
|
-
<td>UI protection
|
|
456
|
+
<td>UI protection
|
|
442
457
|
<ul>
|
|
443
458
|
<li>Overlay protection</li>
|
|
444
|
-
<li>Accessibility services protection</li>
|
|
459
|
+
<li>Accessibility services misuse protection</li>
|
|
445
460
|
</ul>
|
|
446
461
|
</td>
|
|
447
462
|
<td>no</td>
|
|
@@ -451,12 +466,11 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
|
|
|
451
466
|
<td colspan=5><strong>Hardening suite</strong></td>
|
|
452
467
|
</tr>
|
|
453
468
|
<tr>
|
|
454
|
-
<td>Security hardening suite
|
|
455
|
-
<ul>
|
|
456
|
-
<li>Customer Data Encryption (local storage)</li>
|
|
469
|
+
<td>Security hardening suite
|
|
470
|
+
<ul>
|
|
457
471
|
<li>End-to-end encryption</li>
|
|
458
472
|
<li>Strings protection (e.g. API keys)</li>
|
|
459
|
-
<li>Dynamic certificate pinning</li>
|
|
473
|
+
<li>Dynamic TLS certificate pinning</li>
|
|
460
474
|
</ul>
|
|
461
475
|
</td>
|
|
462
476
|
<td>no</td>
|
|
@@ -471,33 +485,41 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
|
|
|
471
485
|
<td>yes</td>
|
|
472
486
|
</tr>
|
|
473
487
|
<tr>
|
|
474
|
-
<td colspan=5><strong>Monitoring</strong></td>
|
|
488
|
+
<td colspan=5><strong>Security events data collection, Auditing and Monitoring tools</strong></td>
|
|
475
489
|
</tr>
|
|
476
490
|
<tr>
|
|
477
|
-
<td>
|
|
491
|
+
<td>Threat events data collection from SDK</td>
|
|
492
|
+
<td>yes</td>
|
|
493
|
+
<td>configurable</td>
|
|
494
|
+
</tr>
|
|
495
|
+
<tr>
|
|
496
|
+
<td>AppSec regular email reporting service</td>
|
|
478
497
|
<td>yes (up to 100k devices)</td>
|
|
479
498
|
<td>yes</td>
|
|
480
499
|
</tr>
|
|
481
500
|
<tr>
|
|
482
|
-
<td>Data
|
|
501
|
+
<td>UI portal for Logging, Data analytics and auditing</td>
|
|
483
502
|
<td>no</td>
|
|
484
503
|
<td>yes</td>
|
|
485
504
|
</tr>
|
|
505
|
+
<tr>
|
|
506
|
+
<td colspan=5><strong>Support and Maintenance</strong></td>
|
|
507
|
+
</tr>
|
|
486
508
|
<tr>
|
|
487
|
-
<td>
|
|
488
|
-
<td>
|
|
509
|
+
<td>SLA</td>
|
|
510
|
+
<td>Not committed</td>
|
|
489
511
|
<td>yes</td>
|
|
490
512
|
</tr>
|
|
491
513
|
<tr>
|
|
492
|
-
<td>
|
|
493
|
-
<td>
|
|
514
|
+
<td>Maintenance updates</td>
|
|
515
|
+
<td>Not committed</td>
|
|
494
516
|
<td>yes</td>
|
|
495
517
|
</tr>
|
|
496
518
|
<tr>
|
|
497
|
-
|
|
519
|
+
<td colspan=5><strong>Fair usage policy</strong></td>
|
|
498
520
|
</tr>
|
|
499
521
|
<tr>
|
|
500
|
-
<td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section
|
|
522
|
+
<td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section on the web).</td>
|
|
501
523
|
<td>over 100k downloads</td>
|
|
502
524
|
<td>no</td>
|
|
503
525
|
</tr>
|
package/android/build.gradle
CHANGED
|
@@ -33,17 +33,21 @@ def getExtOrIntegerDefault(name) {
|
|
|
33
33
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["FreeraspReactNative_" + name]).toInteger()
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
def getIntegerDefault(name) {
|
|
37
|
+
return (project.properties["FreeraspReactNative_" + name]).toInteger()
|
|
38
|
+
}
|
|
39
|
+
|
|
36
40
|
android {
|
|
37
41
|
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
38
42
|
|
|
39
43
|
defaultConfig {
|
|
40
|
-
minSdkVersion
|
|
44
|
+
minSdkVersion getIntegerDefault("minSdkVersion")
|
|
41
45
|
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
42
46
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
43
47
|
}
|
|
44
48
|
buildTypes {
|
|
45
49
|
release {
|
|
46
|
-
minifyEnabled
|
|
50
|
+
minifyEnabled true
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
|
|
@@ -78,7 +82,7 @@ dependencies {
|
|
|
78
82
|
//noinspection GradleDynamicVersion
|
|
79
83
|
implementation "com.facebook.react:react-native"
|
|
80
84
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
81
|
-
implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:
|
|
85
|
+
implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:8.0.2"
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
if (isNewArchitectureEnabled()) {
|
|
@@ -79,6 +79,10 @@ class FreeraspReactNativeModule(val reactContext: ReactApplicationContext) :
|
|
|
79
79
|
sendOngoingPluginResult("deviceBinding", null)
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
override fun onObfuscationIssuesDetected() {
|
|
83
|
+
sendOngoingPluginResult("obfuscationIssues", null)
|
|
84
|
+
}
|
|
85
|
+
|
|
82
86
|
override fun deviceStateChangeDetected(threatType: String) {
|
|
83
87
|
sendOngoingPluginResult(threatType, null)
|
|
84
88
|
}
|
|
@@ -97,7 +97,7 @@ def enableSeparateBuildPerCPUArchitecture = false
|
|
|
97
97
|
/**
|
|
98
98
|
* Run Proguard to shrink the Java bytecode in release builds.
|
|
99
99
|
*/
|
|
100
|
-
def enableProguardInReleaseBuilds =
|
|
100
|
+
def enableProguardInReleaseBuilds = true
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
103
|
* The preferred build flavor of JavaScriptCore.
|
|
@@ -226,7 +226,15 @@ android {
|
|
|
226
226
|
// Caution! In production, you need to generate your own keystore file.
|
|
227
227
|
// see https://reactnative.dev/docs/signed-apk-android.
|
|
228
228
|
signingConfig signingConfigs.debug
|
|
229
|
+
// Enables code shrinking, obfuscation, and optimization for only
|
|
230
|
+
// your project's release build type. Make sure to use a build
|
|
231
|
+
// variant with `debuggable false`.
|
|
229
232
|
minifyEnabled enableProguardInReleaseBuilds
|
|
233
|
+
// Enables resource shrinking, which is performed by the
|
|
234
|
+
// Android Gradle plugin.
|
|
235
|
+
shrinkResources true
|
|
236
|
+
// Includes the default ProGuard rules files that are packaged with
|
|
237
|
+
// the Android Gradle plugin.
|
|
230
238
|
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
|
231
239
|
}
|
|
232
240
|
}
|
package/example/ios/Podfile
CHANGED
|
@@ -38,6 +38,11 @@ target 'FreeraspReactNativeExample' do
|
|
|
38
38
|
# necessary for Mac Catalyst builds
|
|
39
39
|
:mac_catalyst_enabled => false
|
|
40
40
|
)
|
|
41
|
+
installer.pods_project.targets.each do |target|
|
|
42
|
+
target.build_configurations.each do |config|
|
|
43
|
+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4'
|
|
44
|
+
end
|
|
45
|
+
end
|
|
41
46
|
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
|
42
47
|
end
|
|
43
48
|
end
|
package/example/src/App.tsx
CHANGED
|
@@ -3,12 +3,12 @@ import * as React from 'react';
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
4
|
import { useFreeRasp } from 'freerasp-react-native';
|
|
5
5
|
import { DemoApp } from './DemoApp';
|
|
6
|
-
import { commonChecks, iosChecks } from './checks';
|
|
6
|
+
import { commonChecks, iosChecks, androidChecks } from './checks';
|
|
7
7
|
|
|
8
8
|
const App = () => {
|
|
9
9
|
const [appChecks, setAppChecks] = React.useState([
|
|
10
10
|
...commonChecks,
|
|
11
|
-
...(Platform.OS === 'ios' ? iosChecks :
|
|
11
|
+
...(Platform.OS === 'ios' ? iosChecks : androidChecks),
|
|
12
12
|
]);
|
|
13
13
|
|
|
14
14
|
const config = {
|
|
@@ -116,11 +116,11 @@ const App = () => {
|
|
|
116
116
|
)
|
|
117
117
|
);
|
|
118
118
|
},
|
|
119
|
-
//
|
|
120
|
-
|
|
119
|
+
// Android only
|
|
120
|
+
obfuscationIssues: () => {
|
|
121
121
|
setAppChecks((currentState) =>
|
|
122
122
|
currentState.map((threat) =>
|
|
123
|
-
threat.name === '
|
|
123
|
+
threat.name === 'Obfuscation Issues'
|
|
124
124
|
? { ...threat, status: 'nok' }
|
|
125
125
|
: threat
|
|
126
126
|
)
|
package/example/src/checks.ts
CHANGED
|
@@ -10,7 +10,6 @@ export const commonChecks = [
|
|
|
10
10
|
{ name: 'Passcode', status: 'ok' },
|
|
11
11
|
];
|
|
12
12
|
|
|
13
|
-
export const iosChecks = [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
];
|
|
13
|
+
export const iosChecks = [{ name: 'Device ID', status: 'ok' }];
|
|
14
|
+
|
|
15
|
+
export const androidChecks = [{ name: 'Obfuscation Issues', status: 'ok' }];
|
|
@@ -48,15 +48,18 @@ class FreeraspReactNative: RCTEventEmitter {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
extension SecurityThreatCenter: SecurityThreatHandler {
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
static let threatEventMap: [String: String] = [
|
|
54
|
+
"missingSecureEnclave": "secureHardwareNotAvailable",
|
|
55
|
+
"device binding": "deviceBinding",
|
|
56
|
+
]
|
|
57
|
+
|
|
51
58
|
public func threatDetected(_ securityThreat: TalsecRuntime.SecurityThreat) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
FreeraspReactNative.shared!.sendEvent(withName: "secureHardwareNotAvailable", body: "secureHardwareNotAvailable")
|
|
56
|
-
case "device binding":
|
|
57
|
-
FreeraspReactNative.shared!.sendEvent(withName: "deviceBinding", body: "deviceBinding")
|
|
58
|
-
default:
|
|
59
|
-
FreeraspReactNative.shared!.sendEvent(withName: securityThreat.rawValue, body: securityThreat.rawValue)
|
|
59
|
+
let threatName = SecurityThreatCenter.threatEventMap[securityThreat.rawValue] ?? securityThreat.rawValue
|
|
60
|
+
if (threatName == "passcodeChange") {
|
|
61
|
+
return
|
|
60
62
|
}
|
|
63
|
+
FreeraspReactNative.shared!.sendEvent(withName: threatName, body: threatName)
|
|
61
64
|
}
|
|
62
65
|
}
|
|
@@ -6,30 +6,30 @@
|
|
|
6
6
|
<array>
|
|
7
7
|
<dict>
|
|
8
8
|
<key>LibraryIdentifier</key>
|
|
9
|
-
<string>ios-
|
|
9
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
10
10
|
<key>LibraryPath</key>
|
|
11
11
|
<string>TalsecRuntime.framework</string>
|
|
12
12
|
<key>SupportedArchitectures</key>
|
|
13
13
|
<array>
|
|
14
14
|
<string>arm64</string>
|
|
15
|
+
<string>x86_64</string>
|
|
15
16
|
</array>
|
|
16
17
|
<key>SupportedPlatform</key>
|
|
17
18
|
<string>ios</string>
|
|
19
|
+
<key>SupportedPlatformVariant</key>
|
|
20
|
+
<string>simulator</string>
|
|
18
21
|
</dict>
|
|
19
22
|
<dict>
|
|
20
23
|
<key>LibraryIdentifier</key>
|
|
21
|
-
<string>ios-
|
|
24
|
+
<string>ios-arm64</string>
|
|
22
25
|
<key>LibraryPath</key>
|
|
23
26
|
<string>TalsecRuntime.framework</string>
|
|
24
27
|
<key>SupportedArchitectures</key>
|
|
25
28
|
<array>
|
|
26
29
|
<string>arm64</string>
|
|
27
|
-
<string>x86_64</string>
|
|
28
30
|
</array>
|
|
29
31
|
<key>SupportedPlatform</key>
|
|
30
32
|
<string>ios</string>
|
|
31
|
-
<key>SupportedPlatformVariant</key>
|
|
32
|
-
<string>simulator</string>
|
|
33
33
|
</dict>
|
|
34
34
|
</array>
|
|
35
35
|
<key>CFBundlePackageType</key>
|
|
@@ -281,7 +281,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
|
281
281
|
|
|
282
282
|
#if defined(__OBJC__)
|
|
283
283
|
|
|
284
|
-
SWIFT_EXTERN void
|
|
284
|
+
SWIFT_EXTERN void __gEpMdsSyQvqeuMjBPsfuvPt(void);
|
|
285
285
|
|
|
286
286
|
#endif
|
|
287
287
|
#if defined(__cplusplus)
|
|
Binary file
|
|
@@ -2610,7 +2610,7 @@
|
|
|
2610
2610
|
"kind": "StringLiteral",
|
|
2611
2611
|
"offset": 7218,
|
|
2612
2612
|
"length": 7,
|
|
2613
|
-
"value": "\"5.0
|
|
2613
|
+
"value": "\"5.1.0\""
|
|
2614
2614
|
},
|
|
2615
2615
|
{
|
|
2616
2616
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift",
|
|
@@ -5156,91 +5156,98 @@
|
|
|
5156
5156
|
{
|
|
5157
5157
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5158
5158
|
"kind": "BooleanLiteral",
|
|
5159
|
-
"offset":
|
|
5159
|
+
"offset": 6707,
|
|
5160
5160
|
"length": 5,
|
|
5161
5161
|
"value": "false"
|
|
5162
5162
|
},
|
|
5163
5163
|
{
|
|
5164
5164
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5165
5165
|
"kind": "Dictionary",
|
|
5166
|
-
"offset":
|
|
5166
|
+
"offset": 6722,
|
|
5167
5167
|
"length": 3,
|
|
5168
5168
|
"value": "[]"
|
|
5169
5169
|
},
|
|
5170
5170
|
{
|
|
5171
5171
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5172
5172
|
"kind": "BooleanLiteral",
|
|
5173
|
-
"offset":
|
|
5173
|
+
"offset": 7066,
|
|
5174
5174
|
"length": 5,
|
|
5175
5175
|
"value": "false"
|
|
5176
5176
|
},
|
|
5177
5177
|
{
|
|
5178
5178
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5179
5179
|
"kind": "Dictionary",
|
|
5180
|
-
"offset":
|
|
5180
|
+
"offset": 7081,
|
|
5181
5181
|
"length": 3,
|
|
5182
5182
|
"value": "[]"
|
|
5183
5183
|
},
|
|
5184
5184
|
{
|
|
5185
5185
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5186
5186
|
"kind": "BooleanLiteral",
|
|
5187
|
-
"offset":
|
|
5187
|
+
"offset": 7962,
|
|
5188
5188
|
"length": 5,
|
|
5189
5189
|
"value": "false"
|
|
5190
5190
|
},
|
|
5191
5191
|
{
|
|
5192
5192
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5193
5193
|
"kind": "Dictionary",
|
|
5194
|
-
"offset":
|
|
5194
|
+
"offset": 7977,
|
|
5195
5195
|
"length": 3,
|
|
5196
5196
|
"value": "[]"
|
|
5197
5197
|
},
|
|
5198
5198
|
{
|
|
5199
5199
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5200
5200
|
"kind": "BooleanLiteral",
|
|
5201
|
-
"offset":
|
|
5201
|
+
"offset": 8964,
|
|
5202
5202
|
"length": 4,
|
|
5203
5203
|
"value": "true"
|
|
5204
5204
|
},
|
|
5205
5205
|
{
|
|
5206
5206
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5207
5207
|
"kind": "BooleanLiteral",
|
|
5208
|
-
"offset":
|
|
5208
|
+
"offset": 9562,
|
|
5209
5209
|
"length": 5,
|
|
5210
5210
|
"value": "false"
|
|
5211
5211
|
},
|
|
5212
5212
|
{
|
|
5213
5213
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5214
5214
|
"kind": "BooleanLiteral",
|
|
5215
|
-
"offset":
|
|
5215
|
+
"offset": 9602,
|
|
5216
5216
|
"length": 5,
|
|
5217
5217
|
"value": "false"
|
|
5218
5218
|
},
|
|
5219
5219
|
{
|
|
5220
5220
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5221
5221
|
"kind": "BooleanLiteral",
|
|
5222
|
-
"offset":
|
|
5222
|
+
"offset": 9677,
|
|
5223
5223
|
"length": 4,
|
|
5224
5224
|
"value": "true"
|
|
5225
5225
|
},
|
|
5226
5226
|
{
|
|
5227
5227
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5228
5228
|
"kind": "BooleanLiteral",
|
|
5229
|
-
"offset":
|
|
5229
|
+
"offset": 9768,
|
|
5230
5230
|
"length": 4,
|
|
5231
5231
|
"value": "true"
|
|
5232
5232
|
},
|
|
5233
5233
|
{
|
|
5234
5234
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5235
5235
|
"kind": "BooleanLiteral",
|
|
5236
|
-
"offset":
|
|
5236
|
+
"offset": 9809,
|
|
5237
5237
|
"length": 4,
|
|
5238
5238
|
"value": "true"
|
|
5239
5239
|
},
|
|
5240
|
+
{
|
|
5241
|
+
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5242
|
+
"kind": "StringLiteral",
|
|
5243
|
+
"offset": 11416,
|
|
5244
|
+
"length": 2,
|
|
5245
|
+
"value": "\"\""
|
|
5246
|
+
},
|
|
5240
5247
|
{
|
|
5241
5248
|
"filePath": "\/Users\/testing\/builds\/82aA3BrM\/0\/ahe_security_lib\/Talsec_iOS_Security_Library\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift",
|
|
5242
5249
|
"kind": "BooleanLiteral",
|
|
5243
|
-
"offset":
|
|
5250
|
+
"offset": 11530,
|
|
5244
5251
|
"length": 4,
|
|
5245
5252
|
"value": "true"
|
|
5246
5253
|
}
|
|
Binary file
|
|
@@ -281,7 +281,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
|
281
281
|
|
|
282
282
|
#if defined(__OBJC__)
|
|
283
283
|
|
|
284
|
-
SWIFT_EXTERN void
|
|
284
|
+
SWIFT_EXTERN void __gEpMdsSyQvqeuMjBPsfuvPt(void);
|
|
285
285
|
|
|
286
286
|
#endif
|
|
287
287
|
#if defined(__cplusplus)
|
|
@@ -574,7 +574,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
|
574
574
|
|
|
575
575
|
#if defined(__OBJC__)
|
|
576
576
|
|
|
577
|
-
SWIFT_EXTERN void
|
|
577
|
+
SWIFT_EXTERN void __gEpMdsSyQvqeuMjBPsfuvPt(void);
|
|
578
578
|
|
|
579
579
|
#endif
|
|
580
580
|
#if defined(__cplusplus)
|