freerasp-react-native 4.2.3 → 4.3.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.
Files changed (194) hide show
  1. package/6.13.0/dSYMs/iphoneos/TalsecRuntime.framework.dSYM/Contents/Info.plist +20 -0
  2. package/6.13.0/dSYMs/iphoneos/TalsecRuntime.framework.dSYM/Contents/Resources/DWARF/TalsecRuntime +0 -0
  3. package/6.13.0/dSYMs/iphoneos/TalsecRuntime.framework.dSYM/Contents/Resources/Relocations/aarch64/TalsecRuntime.yml +4153 -0
  4. package/6.13.0/dSYMs/iphonesimulator/TalsecRuntime.framework.dSYM/Contents/Info.plist +20 -0
  5. package/6.13.0/dSYMs/iphonesimulator/TalsecRuntime.framework.dSYM/Contents/Resources/DWARF/TalsecRuntime +0 -0
  6. package/6.13.0/dSYMs/iphonesimulator/TalsecRuntime.framework.dSYM/Contents/Resources/Relocations/aarch64/TalsecRuntime.yml +4036 -0
  7. package/6.13.0/dSYMs/iphonesimulator/TalsecRuntime.framework.dSYM/Contents/Resources/Relocations/x86_64/TalsecRuntime.yml +3951 -0
  8. package/CHANGELOG.md +69 -4
  9. package/android/build.gradle +1 -1
  10. package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +45 -22
  11. package/android/src/main/java/com/freeraspreactnative/FreeraspThreatHandler.kt +39 -19
  12. package/android/src/main/java/com/freeraspreactnative/events/BaseRaspEvent.kt +7 -0
  13. package/android/src/main/java/com/freeraspreactnative/events/RaspExecutionStateEvent.kt +20 -0
  14. package/android/src/main/java/com/freeraspreactnative/events/ThreatEvent.kt +67 -0
  15. package/android/src/main/java/com/freeraspreactnative/models/RNSuspiciousAppInfo.kt +1 -0
  16. package/android/src/main/java/com/freeraspreactnative/utils/Extensions.kt +1 -0
  17. package/android/src/main/java/com/freeraspreactnative/utils/RandomGenerator.kt +18 -0
  18. package/android/src/main/java/com/freeraspreactnative/utils/Utils.kt +2 -5
  19. package/example/android/app/release/app-release.apk +0 -0
  20. package/example/android/app/release/baselineProfiles/0/app-release.dm +0 -0
  21. package/example/android/app/release/baselineProfiles/1/app-release.dm +0 -0
  22. package/example/android/app/release/output-metadata.json +37 -0
  23. package/example/android/app/src/main/AndroidManifest.xml +7 -0
  24. package/example/src/App.tsx +77 -3
  25. package/example/src/DemoApp.tsx +46 -1
  26. package/example/src/MalwareItem.tsx +4 -0
  27. package/example/src/checks.ts +3 -0
  28. package/example/src/styles.ts +2 -0
  29. package/freerasp-react-native.podspec +21 -16
  30. package/ios/FreeraspReactNative.m +4 -0
  31. package/ios/FreeraspReactNative.swift +37 -75
  32. package/ios/TalsecRuntime.xcframework/Info.plist +5 -5
  33. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
  34. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  35. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources +144 -114
  36. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
  37. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  38. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
  39. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +380 -281
  40. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +5 -6
  41. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +4 -4
  42. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/header.h +1 -1
  43. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +11 -4
  44. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +62 -22
  45. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +2 -2
  46. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +76 -164
  47. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/typecheck-gcc.h +947 -0
  48. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +5 -4
  49. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/websockets.h +17 -3
  50. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  51. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +181 -146
  52. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface +3 -0
  53. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +3 -0
  54. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  55. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  56. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
  57. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +380 -281
  58. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +5 -6
  59. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +4 -4
  60. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/header.h +1 -1
  61. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +11 -4
  62. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +62 -22
  63. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +2 -2
  64. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +76 -164
  65. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/typecheck-gcc.h +947 -0
  66. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +5 -4
  67. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h +17 -3
  68. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  69. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +181 -146
  70. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +3 -0
  71. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
  72. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +181 -146
  73. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +3 -0
  74. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -0
  75. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  76. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +52 -41
  77. package/ios/models/RaspExecutionStates.swift +15 -0
  78. package/ios/models/SecurityThreat.swift +40 -0
  79. package/ios/utils/EventIdentifiers.swift +13 -0
  80. package/ios/utils/RandomGenerator.swift +12 -0
  81. package/ios/utils/Utils.swift +34 -0
  82. package/lib/commonjs/api/listeners/raspExecutionState.js +40 -0
  83. package/lib/commonjs/api/listeners/raspExecutionState.js.map +1 -0
  84. package/lib/commonjs/api/listeners/threat.js +102 -0
  85. package/lib/commonjs/api/listeners/threat.js.map +1 -0
  86. package/lib/commonjs/api/methods/native.js +43 -0
  87. package/lib/commonjs/api/methods/native.js.map +1 -0
  88. package/lib/commonjs/api/methods/reactNative.js +35 -0
  89. package/lib/commonjs/api/methods/reactNative.js.map +1 -0
  90. package/lib/commonjs/api/nativeModules.js +12 -0
  91. package/lib/commonjs/api/nativeModules.js.map +1 -0
  92. package/lib/commonjs/channels/raspExecutionState.js +36 -0
  93. package/lib/commonjs/channels/raspExecutionState.js.map +1 -0
  94. package/lib/commonjs/channels/threat.js +37 -0
  95. package/lib/commonjs/channels/threat.js.map +1 -0
  96. package/lib/commonjs/index.js +39 -188
  97. package/lib/commonjs/index.js.map +1 -1
  98. package/lib/commonjs/internal.js +6 -0
  99. package/lib/commonjs/internal.js.map +1 -0
  100. package/lib/commonjs/models/raspExecutionState.js +17 -0
  101. package/lib/commonjs/models/raspExecutionState.js.map +1 -0
  102. package/lib/commonjs/{threat.js → models/threat.js} +4 -1
  103. package/lib/commonjs/models/threat.js.map +1 -0
  104. package/lib/commonjs/types/types.js.map +1 -0
  105. package/lib/commonjs/utils/malware.js +28 -0
  106. package/lib/commonjs/utils/malware.js.map +1 -0
  107. package/lib/commonjs/utils/utils.js +21 -0
  108. package/lib/commonjs/utils/utils.js.map +1 -0
  109. package/lib/module/api/listeners/raspExecutionState.js +32 -0
  110. package/lib/module/api/listeners/raspExecutionState.js.map +1 -0
  111. package/lib/module/api/listeners/threat.js +94 -0
  112. package/lib/module/api/listeners/threat.js.map +1 -0
  113. package/lib/module/api/methods/native.js +30 -0
  114. package/lib/module/api/methods/native.js.map +1 -0
  115. package/lib/module/api/methods/reactNative.js +28 -0
  116. package/lib/module/api/methods/reactNative.js.map +1 -0
  117. package/lib/module/api/nativeModules.js +5 -0
  118. package/lib/module/api/nativeModules.js.map +1 -0
  119. package/lib/module/channels/raspExecutionState.js +27 -0
  120. package/lib/module/channels/raspExecutionState.js.map +1 -0
  121. package/lib/module/channels/threat.js +28 -0
  122. package/lib/module/channels/threat.js.map +1 -0
  123. package/lib/module/index.js +5 -172
  124. package/lib/module/index.js.map +1 -1
  125. package/lib/module/internal.js +3 -0
  126. package/lib/module/internal.js.map +1 -0
  127. package/lib/module/models/raspExecutionState.js +10 -0
  128. package/lib/module/models/raspExecutionState.js.map +1 -0
  129. package/lib/module/{threat.js → models/threat.js} +4 -1
  130. package/lib/module/models/threat.js.map +1 -0
  131. package/lib/module/types/types.js.map +1 -0
  132. package/lib/module/utils/malware.js +20 -0
  133. package/lib/module/utils/malware.js.map +1 -0
  134. package/lib/module/utils/utils.js +12 -0
  135. package/lib/module/utils/utils.js.map +1 -0
  136. package/lib/typescript/src/api/listeners/raspExecutionState.d.ts +4 -0
  137. package/lib/typescript/src/api/listeners/raspExecutionState.d.ts.map +1 -0
  138. package/lib/typescript/src/api/listeners/threat.d.ts +4 -0
  139. package/lib/typescript/src/api/listeners/threat.d.ts.map +1 -0
  140. package/lib/typescript/src/api/methods/native.d.ts +9 -0
  141. package/lib/typescript/src/api/methods/native.d.ts.map +1 -0
  142. package/lib/typescript/src/api/methods/reactNative.d.ts +3 -0
  143. package/lib/typescript/src/api/methods/reactNative.d.ts.map +1 -0
  144. package/lib/typescript/src/api/nativeModules.d.ts +2 -0
  145. package/lib/typescript/src/api/nativeModules.d.ts.map +1 -0
  146. package/lib/typescript/src/channels/raspExecutionState.d.ts +7 -0
  147. package/lib/typescript/src/channels/raspExecutionState.d.ts.map +1 -0
  148. package/lib/typescript/src/channels/threat.d.ts +8 -0
  149. package/lib/typescript/src/channels/threat.d.ts.map +1 -0
  150. package/lib/typescript/src/index.d.ts +5 -13
  151. package/lib/typescript/src/index.d.ts.map +1 -1
  152. package/lib/typescript/src/internal.d.ts +2 -0
  153. package/lib/typescript/src/internal.d.ts.map +1 -0
  154. package/lib/typescript/src/models/raspExecutionState.d.ts +7 -0
  155. package/lib/typescript/src/models/raspExecutionState.d.ts.map +1 -0
  156. package/lib/typescript/src/{threat.d.ts → models/threat.d.ts} +3 -0
  157. package/lib/typescript/src/models/threat.d.ts.map +1 -0
  158. package/lib/typescript/src/{types.d.ts → types/types.d.ts} +12 -1
  159. package/lib/typescript/src/types/types.d.ts.map +1 -0
  160. package/lib/typescript/src/utils/malware.d.ts +4 -0
  161. package/lib/typescript/src/utils/malware.d.ts.map +1 -0
  162. package/lib/typescript/src/{utils.d.ts → utils/utils.d.ts} +1 -0
  163. package/lib/typescript/src/utils/utils.d.ts.map +1 -0
  164. package/package.json +1 -1
  165. package/plugin/build/index.d.ts +0 -1
  166. package/src/api/listeners/raspExecutionState.ts +42 -0
  167. package/src/api/listeners/threat.ts +101 -0
  168. package/src/api/methods/native.ts +39 -0
  169. package/src/api/methods/reactNative.ts +42 -0
  170. package/src/api/nativeModules.ts +3 -0
  171. package/src/channels/raspExecutionState.ts +35 -0
  172. package/src/channels/threat.ts +35 -0
  173. package/src/index.tsx +5 -209
  174. package/src/internal.ts +2 -0
  175. package/src/models/raspExecutionState.ts +13 -0
  176. package/src/{threat.ts → models/threat.ts} +6 -0
  177. package/src/{types.ts → types/types.ts} +12 -1
  178. package/src/utils/malware.ts +24 -0
  179. package/src/utils/utils.ts +14 -0
  180. package/android/src/main/java/com/freeraspreactnative/Threat.kt +0 -57
  181. package/lib/commonjs/threat.js.map +0 -1
  182. package/lib/commonjs/types.js.map +0 -1
  183. package/lib/commonjs/utils.js +0 -16
  184. package/lib/commonjs/utils.js.map +0 -1
  185. package/lib/module/threat.js.map +0 -1
  186. package/lib/module/types.js.map +0 -1
  187. package/lib/module/utils.js +0 -8
  188. package/lib/module/utils.js.map +0 -1
  189. package/lib/typescript/src/threat.d.ts.map +0 -1
  190. package/lib/typescript/src/types.d.ts.map +0 -1
  191. package/lib/typescript/src/utils.d.ts.map +0 -1
  192. package/src/utils.ts +0 -9
  193. /package/lib/commonjs/{types.js → types/types.js} +0 -0
  194. /package/lib/module/{types.js → types/types.js} +0 -0
@@ -0,0 +1,94 @@
1
+ import { NativeEventEmitter } from 'react-native';
2
+ import { FreeraspReactNative } from '../nativeModules';
3
+ import { onInvalidCallback } from '../methods/native';
4
+ import { Threat } from '../../models/threat';
5
+ import { parseMalwareData } from '../../utils/malware';
6
+ import { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';
7
+ const eventEmitter = new NativeEventEmitter(FreeraspReactNative);
8
+ let eventsListener;
9
+ export const setThreatListeners = async config => {
10
+ const [channel, key, malwareKey] = await getThreatChannelData();
11
+ await prepareThreatMapping();
12
+ const listener = async event => {
13
+ var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs, _config$deviceID, _config$devMode, _config$systemVPN, _config$malware, _config$adbEnabled, _config$screenshot, _config$screenRecordi, _config$multiInstance, _config$timeSpoofing, _config$locationSpoof, _config$unsecureWifi;
14
+ if (event[key] === undefined) {
15
+ onInvalidCallback();
16
+ }
17
+ switch (event[key]) {
18
+ case Threat.PrivilegedAccess.value:
19
+ (_config$privilegedAcc = config.privilegedAccess) === null || _config$privilegedAcc === void 0 || _config$privilegedAcc.call(config);
20
+ break;
21
+ case Threat.Debug.value:
22
+ (_config$debug = config.debug) === null || _config$debug === void 0 || _config$debug.call(config);
23
+ break;
24
+ case Threat.Simulator.value:
25
+ (_config$simulator = config.simulator) === null || _config$simulator === void 0 || _config$simulator.call(config);
26
+ break;
27
+ case Threat.AppIntegrity.value:
28
+ (_config$appIntegrity = config.appIntegrity) === null || _config$appIntegrity === void 0 || _config$appIntegrity.call(config);
29
+ break;
30
+ case Threat.UnofficialStore.value:
31
+ (_config$unofficialSto = config.unofficialStore) === null || _config$unofficialSto === void 0 || _config$unofficialSto.call(config);
32
+ break;
33
+ case Threat.Hooks.value:
34
+ (_config$hooks = config.hooks) === null || _config$hooks === void 0 || _config$hooks.call(config);
35
+ break;
36
+ case Threat.DeviceBinding.value:
37
+ (_config$deviceBinding = config.deviceBinding) === null || _config$deviceBinding === void 0 || _config$deviceBinding.call(config);
38
+ break;
39
+ case Threat.Passcode.value:
40
+ (_config$passcode = config.passcode) === null || _config$passcode === void 0 || _config$passcode.call(config);
41
+ break;
42
+ case Threat.SecureHardwareNotAvailable.value:
43
+ (_config$secureHardwar = config.secureHardwareNotAvailable) === null || _config$secureHardwar === void 0 || _config$secureHardwar.call(config);
44
+ break;
45
+ case Threat.ObfuscationIssues.value:
46
+ (_config$obfuscationIs = config.obfuscationIssues) === null || _config$obfuscationIs === void 0 || _config$obfuscationIs.call(config);
47
+ break;
48
+ case Threat.DeviceID.value:
49
+ (_config$deviceID = config.deviceID) === null || _config$deviceID === void 0 || _config$deviceID.call(config);
50
+ break;
51
+ case Threat.DevMode.value:
52
+ (_config$devMode = config.devMode) === null || _config$devMode === void 0 || _config$devMode.call(config);
53
+ break;
54
+ case Threat.SystemVPN.value:
55
+ (_config$systemVPN = config.systemVPN) === null || _config$systemVPN === void 0 || _config$systemVPN.call(config);
56
+ break;
57
+ case Threat.Malware.value:
58
+ const malwareData = event[malwareKey];
59
+ (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, await parseMalwareData(Array.isArray(malwareData) ? malwareData : []));
60
+ break;
61
+ case Threat.ADBEnabled.value:
62
+ (_config$adbEnabled = config.adbEnabled) === null || _config$adbEnabled === void 0 || _config$adbEnabled.call(config);
63
+ break;
64
+ case Threat.Screenshot.value:
65
+ (_config$screenshot = config.screenshot) === null || _config$screenshot === void 0 || _config$screenshot.call(config);
66
+ break;
67
+ case Threat.ScreenRecording.value:
68
+ (_config$screenRecordi = config.screenRecording) === null || _config$screenRecordi === void 0 || _config$screenRecordi.call(config);
69
+ break;
70
+ case Threat.MultiInstance.value:
71
+ (_config$multiInstance = config.multiInstance) === null || _config$multiInstance === void 0 || _config$multiInstance.call(config);
72
+ break;
73
+ case Threat.TimeSpoofing.value:
74
+ (_config$timeSpoofing = config.timeSpoofing) === null || _config$timeSpoofing === void 0 || _config$timeSpoofing.call(config);
75
+ break;
76
+ case Threat.LocationSpoofing.value:
77
+ (_config$locationSpoof = config.locationSpoofing) === null || _config$locationSpoof === void 0 || _config$locationSpoof.call(config);
78
+ break;
79
+ case Threat.UnsecureWifi.value:
80
+ (_config$unsecureWifi = config.unsecureWifi) === null || _config$unsecureWifi === void 0 || _config$unsecureWifi.call(config);
81
+ break;
82
+ default:
83
+ onInvalidCallback();
84
+ break;
85
+ }
86
+ };
87
+ eventsListener = eventEmitter.addListener(channel, listener);
88
+ };
89
+ export const removeThreatListener = () => {
90
+ var _eventsListener;
91
+ (_eventsListener = eventsListener) === null || _eventsListener === void 0 || _eventsListener.remove();
92
+ eventsListener = undefined;
93
+ };
94
+ //# sourceMappingURL=threat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","FreeraspReactNative","onInvalidCallback","Threat","parseMalwareData","getThreatChannelData","prepareThreatMapping","eventEmitter","eventsListener","setThreatListeners","config","channel","key","malwareKey","listener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","_config$screenshot","_config$screenRecordi","_config$multiInstance","_config$timeSpoofing","_config$locationSpoof","_config$unsecureWifi","undefined","PrivilegedAccess","value","privilegedAccess","call","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malwareData","malware","Array","isArray","ADBEnabled","adbEnabled","Screenshot","screenshot","ScreenRecording","screenRecording","MultiInstance","multiInstance","TimeSpoofing","timeSpoofing","LocationSpoofing","locationSpoofing","UnsecureWifi","unsecureWifi","addListener","removeThreatListener","_eventsListener","remove"],"sourceRoot":"../../../../src","sources":["api/listeners/threat.ts"],"mappings":"AAAA,SAASA,kBAAkB,QAAkC,cAAc;AAC3E,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SACEC,oBAAoB,EACpBC,oBAAoB,QACf,uBAAuB;AAE9B,MAAMC,YAAY,GAAG,IAAIP,kBAAkB,CAACC,mBAAmB,CAAC;AAChE,IAAIO,cAA+C;AAEnD,OAAO,MAAMC,kBAAkB,GAAG,MAAOC,MAA0B,IAAK;EACtE,MAAM,CAACC,OAAO,EAAEC,GAAG,EAAEC,UAAU,CAAC,GAAG,MAAMR,oBAAoB,CAAC,CAAC;EAC/D,MAAMC,oBAAoB,CAAC,CAAC;EAE5B,MAAMQ,QAAQ,GAAG,MAAOC,KAAkB,IAAK;IAAA,IAAAC,qBAAA,EAAAC,aAAA,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA;IAC7C,IAAIrB,KAAK,CAACH,GAAG,CAAC,KAAKyB,SAAS,EAAE;MAC5BnC,iBAAiB,CAAC,CAAC;IACrB;IACA,QAAQa,KAAK,CAACH,GAAG,CAAC;MAChB,KAAKT,MAAM,CAACmC,gBAAgB,CAACC,KAAK;QAChC,CAAAvB,qBAAA,GAAAN,MAAM,CAAC8B,gBAAgB,cAAAxB,qBAAA,eAAvBA,qBAAA,CAAAyB,IAAA,CAAA/B,MAA0B,CAAC;QAC3B;MACF,KAAKP,MAAM,CAACuC,KAAK,CAACH,KAAK;QACrB,CAAAtB,aAAA,GAAAP,MAAM,CAACiC,KAAK,cAAA1B,aAAA,eAAZA,aAAA,CAAAwB,IAAA,CAAA/B,MAAe,CAAC;QAChB;MACF,KAAKP,MAAM,CAACyC,SAAS,CAACL,KAAK;QACzB,CAAArB,iBAAA,GAAAR,MAAM,CAACmC,SAAS,cAAA3B,iBAAA,eAAhBA,iBAAA,CAAAuB,IAAA,CAAA/B,MAAmB,CAAC;QACpB;MACF,KAAKP,MAAM,CAAC2C,YAAY,CAACP,KAAK;QAC5B,CAAApB,oBAAA,GAAAT,MAAM,CAACqC,YAAY,cAAA5B,oBAAA,eAAnBA,oBAAA,CAAAsB,IAAA,CAAA/B,MAAsB,CAAC;QACvB;MACF,KAAKP,MAAM,CAAC6C,eAAe,CAACT,KAAK;QAC/B,CAAAnB,qBAAA,GAAAV,MAAM,CAACuC,eAAe,cAAA7B,qBAAA,eAAtBA,qBAAA,CAAAqB,IAAA,CAAA/B,MAAyB,CAAC;QAC1B;MACF,KAAKP,MAAM,CAAC+C,KAAK,CAACX,KAAK;QACrB,CAAAlB,aAAA,GAAAX,MAAM,CAACyC,KAAK,cAAA9B,aAAA,eAAZA,aAAA,CAAAoB,IAAA,CAAA/B,MAAe,CAAC;QAChB;MACF,KAAKP,MAAM,CAACiD,aAAa,CAACb,KAAK;QAC7B,CAAAjB,qBAAA,GAAAZ,MAAM,CAAC2C,aAAa,cAAA/B,qBAAA,eAApBA,qBAAA,CAAAmB,IAAA,CAAA/B,MAAuB,CAAC;QACxB;MACF,KAAKP,MAAM,CAACmD,QAAQ,CAACf,KAAK;QACxB,CAAAhB,gBAAA,GAAAb,MAAM,CAAC6C,QAAQ,cAAAhC,gBAAA,eAAfA,gBAAA,CAAAkB,IAAA,CAAA/B,MAAkB,CAAC;QACnB;MACF,KAAKP,MAAM,CAACqD,0BAA0B,CAACjB,KAAK;QAC1C,CAAAf,qBAAA,GAAAd,MAAM,CAAC+C,0BAA0B,cAAAjC,qBAAA,eAAjCA,qBAAA,CAAAiB,IAAA,CAAA/B,MAAoC,CAAC;QACrC;MACF,KAAKP,MAAM,CAACuD,iBAAiB,CAACnB,KAAK;QACjC,CAAAd,qBAAA,GAAAf,MAAM,CAACiD,iBAAiB,cAAAlC,qBAAA,eAAxBA,qBAAA,CAAAgB,IAAA,CAAA/B,MAA2B,CAAC;QAC5B;MACF,KAAKP,MAAM,CAACyD,QAAQ,CAACrB,KAAK;QACxB,CAAAb,gBAAA,GAAAhB,MAAM,CAACmD,QAAQ,cAAAnC,gBAAA,eAAfA,gBAAA,CAAAe,IAAA,CAAA/B,MAAkB,CAAC;QACnB;MACF,KAAKP,MAAM,CAAC2D,OAAO,CAACvB,KAAK;QACvB,CAAAZ,eAAA,GAAAjB,MAAM,CAACqD,OAAO,cAAApC,eAAA,eAAdA,eAAA,CAAAc,IAAA,CAAA/B,MAAiB,CAAC;QAClB;MACF,KAAKP,MAAM,CAAC6D,SAAS,CAACzB,KAAK;QACzB,CAAAX,iBAAA,GAAAlB,MAAM,CAACuD,SAAS,cAAArC,iBAAA,eAAhBA,iBAAA,CAAAa,IAAA,CAAA/B,MAAmB,CAAC;QACpB;MACF,KAAKP,MAAM,CAAC+D,OAAO,CAAC3B,KAAK;QACvB,MAAM4B,WAAW,GAAGpD,KAAK,CAACF,UAAU,CAAC;QACrC,CAAAgB,eAAA,GAAAnB,MAAM,CAAC0D,OAAO,cAAAvC,eAAA,eAAdA,eAAA,CAAAY,IAAA,CAAA/B,MAAM,EACJ,MAAMN,gBAAgB,CAACiE,KAAK,CAACC,OAAO,CAACH,WAAW,CAAC,GAAGA,WAAW,GAAG,EAAE,CACtE,CAAC;QACD;MACF,KAAKhE,MAAM,CAACoE,UAAU,CAAChC,KAAK;QAC1B,CAAAT,kBAAA,GAAApB,MAAM,CAAC8D,UAAU,cAAA1C,kBAAA,eAAjBA,kBAAA,CAAAW,IAAA,CAAA/B,MAAoB,CAAC;QACrB;MACF,KAAKP,MAAM,CAACsE,UAAU,CAAClC,KAAK;QAC1B,CAAAR,kBAAA,GAAArB,MAAM,CAACgE,UAAU,cAAA3C,kBAAA,eAAjBA,kBAAA,CAAAU,IAAA,CAAA/B,MAAoB,CAAC;QACrB;MACF,KAAKP,MAAM,CAACwE,eAAe,CAACpC,KAAK;QAC/B,CAAAP,qBAAA,GAAAtB,MAAM,CAACkE,eAAe,cAAA5C,qBAAA,eAAtBA,qBAAA,CAAAS,IAAA,CAAA/B,MAAyB,CAAC;QAC1B;MACF,KAAKP,MAAM,CAAC0E,aAAa,CAACtC,KAAK;QAC7B,CAAAN,qBAAA,GAAAvB,MAAM,CAACoE,aAAa,cAAA7C,qBAAA,eAApBA,qBAAA,CAAAQ,IAAA,CAAA/B,MAAuB,CAAC;QACxB;MACF,KAAKP,MAAM,CAAC4E,YAAY,CAACxC,KAAK;QAC5B,CAAAL,oBAAA,GAAAxB,MAAM,CAACsE,YAAY,cAAA9C,oBAAA,eAAnBA,oBAAA,CAAAO,IAAA,CAAA/B,MAAsB,CAAC;QACvB;MACF,KAAKP,MAAM,CAAC8E,gBAAgB,CAAC1C,KAAK;QAChC,CAAAJ,qBAAA,GAAAzB,MAAM,CAACwE,gBAAgB,cAAA/C,qBAAA,eAAvBA,qBAAA,CAAAM,IAAA,CAAA/B,MAA0B,CAAC;QAC3B;MACF,KAAKP,MAAM,CAACgF,YAAY,CAAC5C,KAAK;QAC5B,CAAAH,oBAAA,GAAA1B,MAAM,CAAC0E,YAAY,cAAAhD,oBAAA,eAAnBA,oBAAA,CAAAK,IAAA,CAAA/B,MAAsB,CAAC;QACvB;MACF;QACER,iBAAiB,CAAC,CAAC;QACnB;IACJ;EACF,CAAC;EACDM,cAAc,GAAGD,YAAY,CAAC8E,WAAW,CAAC1E,OAAO,EAAEG,QAAQ,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMwE,oBAAoB,GAAGA,CAAA,KAAY;EAAA,IAAAC,eAAA;EAC9C,CAAAA,eAAA,GAAA/E,cAAc,cAAA+E,eAAA,eAAdA,eAAA,CAAgBC,MAAM,CAAC,CAAC;EACxBhF,cAAc,GAAG6B,SAAS;AAC5B,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { Platform } from 'react-native';
2
+ import { FreeraspReactNative } from '../nativeModules';
3
+ export const talsecStart = async options => {
4
+ return FreeraspReactNative.talsecStart(options);
5
+ };
6
+ export const addToWhitelist = async packageName => {
7
+ if (Platform.OS === 'ios') {
8
+ return Promise.reject('Malware detection not available on iOS');
9
+ }
10
+ return FreeraspReactNative.addToWhitelist(packageName);
11
+ };
12
+ export const blockScreenCapture = enable => {
13
+ return FreeraspReactNative.blockScreenCapture(enable);
14
+ };
15
+ export const isScreenCaptureBlocked = () => {
16
+ return FreeraspReactNative.isScreenCaptureBlocked();
17
+ };
18
+ export const storeExternalId = data => {
19
+ return FreeraspReactNative.storeExternalId(data);
20
+ };
21
+ export const getAppIcon = packageName => {
22
+ if (Platform.OS === 'ios') {
23
+ return Promise.reject('App icon retrieval for Malware detection not available on iOS');
24
+ }
25
+ return FreeraspReactNative.getAppIcon(packageName);
26
+ };
27
+ export const onInvalidCallback = () => {
28
+ FreeraspReactNative.onInvalidCallback();
29
+ };
30
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","FreeraspReactNative","talsecStart","options","addToWhitelist","packageName","OS","Promise","reject","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId","data","getAppIcon","onInvalidCallback"],"sourceRoot":"../../../../src","sources":["api/methods/native.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,mBAAmB,QAAQ,kBAAkB;AAGtD,OAAO,MAAMC,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAOF,mBAAmB,CAACC,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAOP,mBAAmB,CAACG,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAIC,MAAe,IAAsB;EACtE,OAAOT,mBAAmB,CAACQ,kBAAkB,CAACC,MAAM,CAAC;AACvD,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAwB;EAC5D,OAAOV,mBAAmB,CAACU,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAMC,eAAe,GAAIC,IAAY,IAAsB;EAChE,OAAOZ,mBAAmB,CAACW,eAAe,CAACC,IAAI,CAAC;AAClD,CAAC;AAED,OAAO,MAAMC,UAAU,GAAIT,WAAmB,IAAsB;EAClE,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CACnB,+DACF,CAAC;EACH;EACA,OAAOP,mBAAmB,CAACa,UAAU,CAACT,WAAW,CAAC;AACpD,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAY;EAC3Cd,mBAAmB,CAACc,iBAAiB,CAAC,CAAC;AACzC,CAAC","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { talsecStart } from 'freerasp-react-native';
2
+ import { useEffect } from 'react';
3
+ import { setRaspExecutionStateListener, removeRaspExecutionStateEventListener } from '../listeners/raspExecutionState';
4
+ import { setThreatListeners, removeThreatListener } from '../listeners/threat';
5
+ import { onInvalidCallback } from './native';
6
+ export const useFreeRasp = (config, actions, raspExecutionStateActions) => {
7
+ useEffect(() => {
8
+ (async () => {
9
+ await setThreatListeners(actions);
10
+ raspExecutionStateActions && (await setRaspExecutionStateListener(raspExecutionStateActions));
11
+ try {
12
+ let response = await talsecStart(config);
13
+ if (response !== 'freeRASP started') {
14
+ onInvalidCallback();
15
+ }
16
+ console.log(response);
17
+ } catch (e) {
18
+ console.error(`${e.code}: ${e.message}`);
19
+ }
20
+ return () => {
21
+ removeThreatListener();
22
+ removeRaspExecutionStateEventListener();
23
+ };
24
+ })();
25
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
+ }, []);
27
+ };
28
+ //# sourceMappingURL=reactNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["talsecStart","useEffect","setRaspExecutionStateListener","removeRaspExecutionStateEventListener","setThreatListeners","removeThreatListener","onInvalidCallback","useFreeRasp","config","actions","raspExecutionStateActions","response","console","log","e","error","code","message"],"sourceRoot":"../../../../src","sources":["api/methods/reactNative.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,uBAAuB;AACnD,SAASC,SAAS,QAAQ,OAAO;AACjC,SACEC,6BAA6B,EAC7BC,qCAAqC,QAChC,iCAAiC;AACxC,SAASC,kBAAkB,EAAEC,oBAAoB,QAAQ,qBAAqB;AAM9E,SAASC,iBAAiB,QAAQ,UAAU;AAE5C,OAAO,MAAMC,WAAW,GAAGA,CACzBC,MAAoB,EACpBC,OAA2B,EAC3BC,yBAA0D,KACvD;EACHT,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAMG,kBAAkB,CAACK,OAAO,CAAC;MACjCC,yBAAyB,KACtB,MAAMR,6BAA6B,CAACQ,yBAAyB,CAAC,CAAC;MAClE,IAAI;QACF,IAAIC,QAAQ,GAAG,MAAMX,WAAW,CAACQ,MAAM,CAAC;QACxC,IAAIG,QAAQ,KAAK,kBAAkB,EAAE;UACnCL,iBAAiB,CAAC,CAAC;QACrB;QACAM,OAAO,CAACC,GAAG,CAACF,QAAQ,CAAC;MACvB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACfF,OAAO,CAACG,KAAK,CAAE,GAAED,CAAC,CAACE,IAAK,KAAIF,CAAC,CAACG,OAAQ,EAAC,CAAC;MAC1C;MAEA,OAAO,MAAM;QACXZ,oBAAoB,CAAC,CAAC;QACtBF,qCAAqC,CAAC,CAAC;MACzC,CAAC;IACH,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { NativeModules } from 'react-native';
2
+ export const {
3
+ FreeraspReactNative
4
+ } = NativeModules;
5
+ //# sourceMappingURL=nativeModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","FreeraspReactNative"],"sourceRoot":"../../../src","sources":["api/nativeModules.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,OAAO,MAAM;EAAEC;AAAoB,CAAC,GAAGD,aAAa","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import { getRaspExecutionStateCount, itemsHaveType } from '../utils/utils';
2
+ import { FreeraspReactNative } from '../api/nativeModules';
3
+ import { onInvalidCallback } from '../api/methods/native';
4
+ import { RaspExecutionState } from '../models/raspExecutionState';
5
+ export const getRaspExecutionStateIdentifiers = async () => {
6
+ const identifiers = await FreeraspReactNative.getRaspExecutionStateIdentifiers();
7
+ if (identifiers.length !== getRaspExecutionStateCount() || !itemsHaveType(identifiers, 'number')) {
8
+ onInvalidCallback();
9
+ }
10
+ return identifiers;
11
+ };
12
+ export const getRaspExecutionStateChannelData = async () => {
13
+ const dataLength = 2;
14
+ const data = await FreeraspReactNative.getRaspExecutionStateChannelData();
15
+ if (data.length !== dataLength || !itemsHaveType(data, 'string')) {
16
+ onInvalidCallback();
17
+ }
18
+ return data;
19
+ };
20
+ export const prepareRaspExecutionStateMapping = async () => {
21
+ const newValues = await getRaspExecutionStateIdentifiers();
22
+ const threats = RaspExecutionState.getValues();
23
+ threats.map((threat, index) => {
24
+ threat.value = newValues[index];
25
+ });
26
+ };
27
+ //# sourceMappingURL=raspExecutionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRaspExecutionStateCount","itemsHaveType","FreeraspReactNative","onInvalidCallback","RaspExecutionState","getRaspExecutionStateIdentifiers","identifiers","length","getRaspExecutionStateChannelData","dataLength","data","prepareRaspExecutionStateMapping","newValues","threats","getValues","map","threat","index","value"],"sourceRoot":"../../../src","sources":["channels/raspExecutionState.ts"],"mappings":"AAAA,SAASA,0BAA0B,EAAEC,aAAa,QAAQ,gBAAgB;AAC1E,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,OAAO,MAAMC,gCAAgC,GAAG,MAAAA,CAAA,KAA+B;EAC7E,MAAMC,WAAW,GACf,MAAMJ,mBAAmB,CAACG,gCAAgC,CAAC,CAAC;EAC9D,IACEC,WAAW,CAACC,MAAM,KAAKP,0BAA0B,CAAC,CAAC,IACnD,CAACC,aAAa,CAACK,WAAW,EAAE,QAAQ,CAAC,EACrC;IACAH,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOG,WAAW;AACpB,CAAC;AAED,OAAO,MAAME,gCAAgC,GAAG,MAAAA,CAAA,KAE3C;EACH,MAAMC,UAAU,GAAG,CAAC;EACpB,MAAMC,IAAI,GAAG,MAAMR,mBAAmB,CAACM,gCAAgC,CAAC,CAAC;EACzE,IAAIE,IAAI,CAACH,MAAM,KAAKE,UAAU,IAAI,CAACR,aAAa,CAACS,IAAI,EAAE,QAAQ,CAAC,EAAE;IAChEP,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOO,IAAI;AACb,CAAC;AAED,OAAO,MAAMC,gCAAgC,GAAG,MAAAA,CAAA,KAA2B;EACzE,MAAMC,SAAS,GAAG,MAAMP,gCAAgC,CAAC,CAAC;EAC1D,MAAMQ,OAAO,GAAGT,kBAAkB,CAACU,SAAS,CAAC,CAAC;EAC9CD,OAAO,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC7BD,MAAM,CAACE,KAAK,GAAGN,SAAS,CAACK,KAAK,CAAE;EAClC,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { Platform } from 'react-native';
2
+ import { getThreatCount, itemsHaveType } from '../utils/utils';
3
+ import { FreeraspReactNative } from '../api/nativeModules';
4
+ import { Threat } from '../models/threat';
5
+ import { onInvalidCallback } from '../api/methods/native';
6
+ export const getThreatIdentifiers = async () => {
7
+ const identifiers = await FreeraspReactNative.getThreatIdentifiers();
8
+ if (identifiers.length !== getThreatCount() || !itemsHaveType(identifiers, 'number')) {
9
+ onInvalidCallback();
10
+ }
11
+ return identifiers;
12
+ };
13
+ export const getThreatChannelData = async () => {
14
+ const dataLength = Platform.OS === 'ios' ? 2 : 3;
15
+ const data = await FreeraspReactNative.getThreatChannelData();
16
+ if (data.length !== dataLength || !itemsHaveType(data, 'string')) {
17
+ onInvalidCallback();
18
+ }
19
+ return data;
20
+ };
21
+ export const prepareThreatMapping = async () => {
22
+ const newValues = await getThreatIdentifiers();
23
+ const threats = Threat.getValues();
24
+ threats.map((threat, index) => {
25
+ threat.value = newValues[index];
26
+ });
27
+ };
28
+ //# sourceMappingURL=threat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","getThreatCount","itemsHaveType","FreeraspReactNative","Threat","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatChannelData","dataLength","OS","data","prepareThreatMapping","newValues","threats","getValues","map","threat","index","value"],"sourceRoot":"../../../src","sources":["channels/threat.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,cAAc,EAAEC,aAAa,QAAQ,gBAAgB;AAC9D,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,OAAO,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA+B;EACjE,MAAMC,WAAW,GAAG,MAAMJ,mBAAmB,CAACG,oBAAoB,CAAC,CAAC;EACpE,IACEC,WAAW,CAACC,MAAM,KAAKP,cAAc,CAAC,CAAC,IACvC,CAACC,aAAa,CAACK,WAAW,EAAE,QAAQ,CAAC,EACrC;IACAF,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOE,WAAW;AACpB,CAAC;AAED,OAAO,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAE/B;EACH,MAAMC,UAAU,GAAGV,QAAQ,CAACW,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;EAChD,MAAMC,IAAI,GAAG,MAAMT,mBAAmB,CAACM,oBAAoB,CAAC,CAAC;EAC7D,IAAIG,IAAI,CAACJ,MAAM,KAAKE,UAAU,IAAI,CAACR,aAAa,CAACU,IAAI,EAAE,QAAQ,CAAC,EAAE;IAChEP,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOO,IAAI;AACb,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA2B;EAC7D,MAAMC,SAAS,GAAG,MAAMR,oBAAoB,CAAC,CAAC;EAC9C,MAAMS,OAAO,GAAGX,MAAM,CAACY,SAAS,CAAC,CAAC;EAClCD,OAAO,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC7BD,MAAM,CAACE,KAAK,GAAGN,SAAS,CAACK,KAAK,CAAE;EAClC,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -1,173 +1,6 @@
1
- import { useEffect } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
3
- import { getThreatCount, itemsHaveType } from './utils';
4
- import { Buffer } from 'buffer';
5
- import { Threat } from './threat';
6
- const {
7
- FreeraspReactNative
8
- } = NativeModules;
9
- const eventEmitter = new NativeEventEmitter(FreeraspReactNative);
10
- let eventsListener;
11
- const onInvalidCallback = () => {
12
- FreeraspReactNative.onInvalidCallback();
13
- };
14
- const getThreatIdentifiers = async () => {
15
- let identifiers = await FreeraspReactNative.getThreatIdentifiers();
16
- if (identifiers.length !== getThreatCount() || !itemsHaveType(identifiers, 'number')) {
17
- onInvalidCallback();
18
- }
19
- return identifiers;
20
- };
21
- const getThreatChannelData = async () => {
22
- const dataLength = Platform.OS === 'ios' ? 2 : 3;
23
- let data = await FreeraspReactNative.getThreatChannelData();
24
- if (data.length !== dataLength || !itemsHaveType(data, 'string')) {
25
- onInvalidCallback();
26
- }
27
- return data;
28
- };
29
- const prepareMapping = async () => {
30
- const newValues = await getThreatIdentifiers();
31
- const threats = Threat.getValues();
32
- threats.map((threat, index) => {
33
- threat.value = newValues[index];
34
- });
35
- };
36
-
37
- // parses base64-encoded malware data to SuspiciousAppInfo[]
38
- const parseMalwareData = async data => {
39
- return new Promise((resolve, reject) => {
40
- try {
41
- resolve(data.map(entry => toSuspiciousAppInfo(entry)));
42
- } catch (error) {
43
- reject(`Error while parsing app data: ${error}`);
44
- }
45
- });
46
- };
47
- const toSuspiciousAppInfo = base64Value => {
48
- const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
49
- const packageInfo = data.packageInfo;
50
- return {
51
- packageInfo,
52
- reason: data.reason
53
- };
54
- };
55
- export const setThreatListeners = async config => {
56
- const [channel, key, malwareKey] = await getThreatChannelData();
57
- await prepareMapping();
58
- eventsListener = eventEmitter.addListener(channel, async event => {
59
- var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs, _config$deviceID, _config$devMode, _config$systemVPN, _config$malware, _config$adbEnabled, _config$screenshot, _config$screenRecordi, _config$multiInstance;
60
- if (event[key] === undefined) {
61
- onInvalidCallback();
62
- }
63
- switch (event[key]) {
64
- case Threat.PrivilegedAccess.value:
65
- (_config$privilegedAcc = config.privilegedAccess) === null || _config$privilegedAcc === void 0 || _config$privilegedAcc.call(config);
66
- break;
67
- case Threat.Debug.value:
68
- (_config$debug = config.debug) === null || _config$debug === void 0 || _config$debug.call(config);
69
- break;
70
- case Threat.Simulator.value:
71
- (_config$simulator = config.simulator) === null || _config$simulator === void 0 || _config$simulator.call(config);
72
- break;
73
- case Threat.AppIntegrity.value:
74
- (_config$appIntegrity = config.appIntegrity) === null || _config$appIntegrity === void 0 || _config$appIntegrity.call(config);
75
- break;
76
- case Threat.UnofficialStore.value:
77
- (_config$unofficialSto = config.unofficialStore) === null || _config$unofficialSto === void 0 || _config$unofficialSto.call(config);
78
- break;
79
- case Threat.Hooks.value:
80
- (_config$hooks = config.hooks) === null || _config$hooks === void 0 || _config$hooks.call(config);
81
- break;
82
- case Threat.DeviceBinding.value:
83
- (_config$deviceBinding = config.deviceBinding) === null || _config$deviceBinding === void 0 || _config$deviceBinding.call(config);
84
- break;
85
- case Threat.Passcode.value:
86
- (_config$passcode = config.passcode) === null || _config$passcode === void 0 || _config$passcode.call(config);
87
- break;
88
- case Threat.SecureHardwareNotAvailable.value:
89
- (_config$secureHardwar = config.secureHardwareNotAvailable) === null || _config$secureHardwar === void 0 || _config$secureHardwar.call(config);
90
- break;
91
- case Threat.ObfuscationIssues.value:
92
- (_config$obfuscationIs = config.obfuscationIssues) === null || _config$obfuscationIs === void 0 || _config$obfuscationIs.call(config);
93
- break;
94
- case Threat.DeviceID.value:
95
- (_config$deviceID = config.deviceID) === null || _config$deviceID === void 0 || _config$deviceID.call(config);
96
- break;
97
- case Threat.DevMode.value:
98
- (_config$devMode = config.devMode) === null || _config$devMode === void 0 || _config$devMode.call(config);
99
- break;
100
- case Threat.SystemVPN.value:
101
- (_config$systemVPN = config.systemVPN) === null || _config$systemVPN === void 0 || _config$systemVPN.call(config);
102
- break;
103
- case Threat.Malware.value:
104
- (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, await parseMalwareData(event[malwareKey]));
105
- break;
106
- case Threat.ADBEnabled.value:
107
- (_config$adbEnabled = config.adbEnabled) === null || _config$adbEnabled === void 0 || _config$adbEnabled.call(config);
108
- break;
109
- case Threat.Screenshot.value:
110
- (_config$screenshot = config.screenshot) === null || _config$screenshot === void 0 || _config$screenshot.call(config);
111
- break;
112
- case Threat.ScreenRecording.value:
113
- (_config$screenRecordi = config.screenRecording) === null || _config$screenRecordi === void 0 || _config$screenRecordi.call(config);
114
- break;
115
- case Threat.MultiInstance.value:
116
- (_config$multiInstance = config.multiInstance) === null || _config$multiInstance === void 0 || _config$multiInstance.call(config);
117
- break;
118
- default:
119
- onInvalidCallback();
120
- break;
121
- }
122
- });
123
- };
124
- export const removeThreatListeners = () => {
125
- eventsListener.remove();
126
- };
127
- export const talsecStart = async options => {
128
- return FreeraspReactNative.talsecStart(options);
129
- };
130
- export const useFreeRasp = (config, actions) => {
131
- useEffect(() => {
132
- (async () => {
133
- await setThreatListeners(actions);
134
- try {
135
- let response = await talsecStart(config);
136
- if (response !== 'freeRASP started') {
137
- onInvalidCallback();
138
- }
139
- console.log(response);
140
- } catch (e) {
141
- console.error(`${e.code}: ${e.message}`);
142
- }
143
- return () => {
144
- removeThreatListeners();
145
- };
146
- })();
147
- // eslint-disable-next-line react-hooks/exhaustive-deps
148
- }, []);
149
- };
150
- export const addToWhitelist = async packageName => {
151
- if (Platform.OS === 'ios') {
152
- return Promise.reject('Malware detection not available on iOS');
153
- }
154
- return FreeraspReactNative.addToWhitelist(packageName);
155
- };
156
- export const getAppIcon = packageName => {
157
- if (Platform.OS === 'ios') {
158
- return Promise.reject('App icon retrieval for Malware detection not available on iOS');
159
- }
160
- return FreeraspReactNative.getAppIcon(packageName);
161
- };
162
- export const blockScreenCapture = enable => {
163
- return FreeraspReactNative.blockScreenCapture(enable);
164
- };
165
- export const isScreenCaptureBlocked = () => {
166
- return FreeraspReactNative.isScreenCaptureBlocked();
167
- };
168
- export const storeExternalId = data => {
169
- return FreeraspReactNative.storeExternalId(data);
170
- };
171
- export * from './types';
172
- export default FreeraspReactNative;
1
+ export * from './types/types';
2
+ export * from './api/methods/native';
3
+ export * from './api/methods/reactNative';
4
+ export * from './api/listeners/threat';
5
+ export * from './api/listeners/raspExecutionState';
173
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Platform","getThreatCount","itemsHaveType","Buffer","Threat","FreeraspReactNative","eventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatChannelData","dataLength","OS","data","prepareMapping","newValues","threats","getValues","map","threat","index","value","parseMalwareData","Promise","resolve","reject","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","from","toString","packageInfo","reason","setThreatListeners","config","channel","key","malwareKey","addListener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","_config$screenshot","_config$screenRecordi","_config$multiInstance","undefined","PrivilegedAccess","privilegedAccess","call","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malware","ADBEnabled","adbEnabled","Screenshot","screenshot","ScreenRecording","screenRecording","MultiInstance","multiInstance","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","response","console","log","e","code","message","addToWhitelist","packageName","getAppIcon","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SACEC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QAEH,cAAc;AAOrB,SAASC,cAAc,EAAEC,aAAa,QAAQ,SAAS;AACvD,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,MAAM,QAAQ,UAAU;AAEjC,MAAM;EAAEC;AAAoB,CAAC,GAAGN,aAAa;AAE7C,MAAMO,YAAY,GAAG,IAAIR,kBAAkB,CAACO,mBAAmB,CAAC;AAChE,IAAIE,cAAmC;AAEvC,MAAMC,iBAAiB,GAAGA,CAAA,KAAY;EACpCH,mBAAmB,CAACG,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAED,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA+B;EAC1D,IAAIC,WAAW,GAAG,MAAML,mBAAmB,CAACI,oBAAoB,CAAC,CAAC;EAClE,IACEC,WAAW,CAACC,MAAM,KAAKV,cAAc,CAAC,CAAC,IACvC,CAACC,aAAa,CAACQ,WAAW,EAAE,QAAQ,CAAC,EACrC;IACAF,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOE,WAAW;AACpB,CAAC;AAED,MAAME,oBAAoB,GAAG,MAAAA,CAAA,KAA+C;EAC1E,MAAMC,UAAU,GAAGb,QAAQ,CAACc,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;EAChD,IAAIC,IAAI,GAAG,MAAMV,mBAAmB,CAACO,oBAAoB,CAAC,CAAC;EAC3D,IAAIG,IAAI,CAACJ,MAAM,KAAKE,UAAU,IAAI,CAACX,aAAa,CAACa,IAAI,EAAE,QAAQ,CAAC,EAAE;IAChEP,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOO,IAAI;AACb,CAAC;AAED,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAA2B;EAChD,MAAMC,SAAS,GAAG,MAAMR,oBAAoB,CAAC,CAAC;EAC9C,MAAMS,OAAO,GAAGd,MAAM,CAACe,SAAS,CAAC,CAAC;EAElCD,OAAO,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC7BD,MAAM,CAACE,KAAK,GAAGN,SAAS,CAACK,KAAK,CAAE;EAClC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAME,gBAAgB,GAAG,MACvBT,IAAc,IACmB;EACjC,OAAO,IAAIU,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACFD,OAAO,CAACX,IAAI,CAACK,GAAG,CAAEQ,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnBH,MAAM,CAAE,iCAAgCG,KAAM,EAAC,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMD,mBAAmB,GAAIE,WAAmB,IAAwB;EACtE,MAAMhB,IAAI,GAAGiB,IAAI,CAACC,KAAK,CAAC9B,MAAM,CAAC+B,IAAI,CAACH,WAAW,EAAE,QAAQ,CAAC,CAACI,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGrB,IAAI,CAACqB,WAA0B;EACnD,OAAO;IAAEA,WAAW;IAAEC,MAAM,EAAEtB,IAAI,CAACsB;EAAO,CAAC;AAC7C,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,MAChCC,MAAyE,IACtE;EACH,MAAM,CAACC,OAAO,EAAEC,GAAG,EAAEC,UAAU,CAAC,GAAG,MAAM9B,oBAAoB,CAAC,CAAC;EAC/D,MAAMI,cAAc,CAAC,CAAC;EAEtBT,cAAc,GAAGD,YAAY,CAACqC,WAAW,CAACH,OAAO,EAAE,MAAOI,KAAK,IAAK;IAAA,IAAAC,qBAAA,EAAAC,aAAA,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAClE,IAAIlB,KAAK,CAACH,GAAG,CAAC,KAAKsB,SAAS,EAAE;MAC5BvD,iBAAiB,CAAC,CAAC;IACrB;IACA,QAAQoC,KAAK,CAACH,GAAG,CAAC;MAChB,KAAKrC,MAAM,CAAC4D,gBAAgB,CAACzC,KAAK;QAChC,CAAAsB,qBAAA,GAAAN,MAAM,CAAC0B,gBAAgB,cAAApB,qBAAA,eAAvBA,qBAAA,CAAAqB,IAAA,CAAA3B,MAA0B,CAAC;QAC3B;MACF,KAAKnC,MAAM,CAAC+D,KAAK,CAAC5C,KAAK;QACrB,CAAAuB,aAAA,GAAAP,MAAM,CAAC6B,KAAK,cAAAtB,aAAA,eAAZA,aAAA,CAAAoB,IAAA,CAAA3B,MAAe,CAAC;QAChB;MACF,KAAKnC,MAAM,CAACiE,SAAS,CAAC9C,KAAK;QACzB,CAAAwB,iBAAA,GAAAR,MAAM,CAAC+B,SAAS,cAAAvB,iBAAA,eAAhBA,iBAAA,CAAAmB,IAAA,CAAA3B,MAAmB,CAAC;QACpB;MACF,KAAKnC,MAAM,CAACmE,YAAY,CAAChD,KAAK;QAC5B,CAAAyB,oBAAA,GAAAT,MAAM,CAACiC,YAAY,cAAAxB,oBAAA,eAAnBA,oBAAA,CAAAkB,IAAA,CAAA3B,MAAsB,CAAC;QACvB;MACF,KAAKnC,MAAM,CAACqE,eAAe,CAAClD,KAAK;QAC/B,CAAA0B,qBAAA,GAAAV,MAAM,CAACmC,eAAe,cAAAzB,qBAAA,eAAtBA,qBAAA,CAAAiB,IAAA,CAAA3B,MAAyB,CAAC;QAC1B;MACF,KAAKnC,MAAM,CAACuE,KAAK,CAACpD,KAAK;QACrB,CAAA2B,aAAA,GAAAX,MAAM,CAACqC,KAAK,cAAA1B,aAAA,eAAZA,aAAA,CAAAgB,IAAA,CAAA3B,MAAe,CAAC;QAChB;MACF,KAAKnC,MAAM,CAACyE,aAAa,CAACtD,KAAK;QAC7B,CAAA4B,qBAAA,GAAAZ,MAAM,CAACuC,aAAa,cAAA3B,qBAAA,eAApBA,qBAAA,CAAAe,IAAA,CAAA3B,MAAuB,CAAC;QACxB;MACF,KAAKnC,MAAM,CAAC2E,QAAQ,CAACxD,KAAK;QACxB,CAAA6B,gBAAA,GAAAb,MAAM,CAACyC,QAAQ,cAAA5B,gBAAA,eAAfA,gBAAA,CAAAc,IAAA,CAAA3B,MAAkB,CAAC;QACnB;MACF,KAAKnC,MAAM,CAAC6E,0BAA0B,CAAC1D,KAAK;QAC1C,CAAA8B,qBAAA,GAAAd,MAAM,CAAC2C,0BAA0B,cAAA7B,qBAAA,eAAjCA,qBAAA,CAAAa,IAAA,CAAA3B,MAAoC,CAAC;QACrC;MACF,KAAKnC,MAAM,CAAC+E,iBAAiB,CAAC5D,KAAK;QACjC,CAAA+B,qBAAA,GAAAf,MAAM,CAAC6C,iBAAiB,cAAA9B,qBAAA,eAAxBA,qBAAA,CAAAY,IAAA,CAAA3B,MAA2B,CAAC;QAC5B;MACF,KAAKnC,MAAM,CAACiF,QAAQ,CAAC9D,KAAK;QACxB,CAAAgC,gBAAA,GAAAhB,MAAM,CAAC+C,QAAQ,cAAA/B,gBAAA,eAAfA,gBAAA,CAAAW,IAAA,CAAA3B,MAAkB,CAAC;QACnB;MACF,KAAKnC,MAAM,CAACmF,OAAO,CAAChE,KAAK;QACvB,CAAAiC,eAAA,GAAAjB,MAAM,CAACiD,OAAO,cAAAhC,eAAA,eAAdA,eAAA,CAAAU,IAAA,CAAA3B,MAAiB,CAAC;QAClB;MACF,KAAKnC,MAAM,CAACqF,SAAS,CAAClE,KAAK;QACzB,CAAAkC,iBAAA,GAAAlB,MAAM,CAACmD,SAAS,cAAAjC,iBAAA,eAAhBA,iBAAA,CAAAS,IAAA,CAAA3B,MAAmB,CAAC;QACpB;MACF,KAAKnC,MAAM,CAACuF,OAAO,CAACpE,KAAK;QACvB,CAAAmC,eAAA,GAAAnB,MAAM,CAACqD,OAAO,cAAAlC,eAAA,eAAdA,eAAA,CAAAQ,IAAA,CAAA3B,MAAM,EAAW,MAAMf,gBAAgB,CAACoB,KAAK,CAACF,UAAU,CAAC,CAAC,CAAC;QAC3D;MACF,KAAKtC,MAAM,CAACyF,UAAU,CAACtE,KAAK;QAC1B,CAAAoC,kBAAA,GAAApB,MAAM,CAACuD,UAAU,cAAAnC,kBAAA,eAAjBA,kBAAA,CAAAO,IAAA,CAAA3B,MAAoB,CAAC;QACrB;MACF,KAAKnC,MAAM,CAAC2F,UAAU,CAACxE,KAAK;QAC1B,CAAAqC,kBAAA,GAAArB,MAAM,CAACyD,UAAU,cAAApC,kBAAA,eAAjBA,kBAAA,CAAAM,IAAA,CAAA3B,MAAoB,CAAC;QACrB;MACF,KAAKnC,MAAM,CAAC6F,eAAe,CAAC1E,KAAK;QAC/B,CAAAsC,qBAAA,GAAAtB,MAAM,CAAC2D,eAAe,cAAArC,qBAAA,eAAtBA,qBAAA,CAAAK,IAAA,CAAA3B,MAAyB,CAAC;QAC1B;MACF,KAAKnC,MAAM,CAAC+F,aAAa,CAAC5E,KAAK;QAC7B,CAAAuC,qBAAA,GAAAvB,MAAM,CAAC6D,aAAa,cAAAtC,qBAAA,eAApBA,qBAAA,CAAAI,IAAA,CAAA3B,MAAuB,CAAC;QACxB;MACF;QACE/B,iBAAiB,CAAC,CAAC;QACnB;IACJ;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAM6F,qBAAqB,GAAGA,CAAA,KAAY;EAC/C9F,cAAc,CAAC+F,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAOnG,mBAAmB,CAACkG,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CACzBlE,MAAoB,EACpBmE,OAA0E,KACvE;EACH7G,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAMyC,kBAAkB,CAACoE,OAAO,CAAC;MACjC,IAAI;QACF,IAAIC,QAAQ,GAAG,MAAMJ,WAAW,CAAChE,MAAM,CAAC;QACxC,IAAIoE,QAAQ,KAAK,kBAAkB,EAAE;UACnCnG,iBAAiB,CAAC,CAAC;QACrB;QACAoG,OAAO,CAACC,GAAG,CAACF,QAAQ,CAAC;MACvB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACfF,OAAO,CAAC9E,KAAK,CAAE,GAAEgF,CAAC,CAACC,IAAK,KAAID,CAAC,CAACE,OAAQ,EAAC,CAAC;MAC1C;MAEA,OAAO,MAAM;QACXX,qBAAqB,CAAC,CAAC;MACzB,CAAC;IACH,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,OAAO,MAAMY,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAIlH,QAAQ,CAACc,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOW,OAAO,CAACE,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAOtB,mBAAmB,CAAC4G,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAED,OAAO,MAAMC,UAAU,GAAID,WAAmB,IAAsB;EAClE,IAAIlH,QAAQ,CAACc,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOW,OAAO,CAACE,MAAM,CACnB,+DACF,CAAC;EACH;EACA,OAAOtB,mBAAmB,CAAC8G,UAAU,CAACD,WAAW,CAAC;AACpD,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAIC,MAAe,IAAsB;EACtE,OAAOhH,mBAAmB,CAAC+G,kBAAkB,CAACC,MAAM,CAAC;AACvD,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAwB;EAC5D,OAAOjH,mBAAmB,CAACiH,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAMC,eAAe,GAAIxG,IAAY,IAAsB;EAChE,OAAOV,mBAAmB,CAACkH,eAAe,CAACxG,IAAI,CAAC;AAClD,CAAC;AAED,cAAc,SAAS;AACvB,eAAeV,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,sBAAsB;AACpC,cAAc,2BAA2B;AACzC,cAAc,wBAAwB;AACtC,cAAc,oCAAoC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ // Deprecated: logic moved under utils/*. This file intentionally left empty.
2
+ export {};
3
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"AAAA;AACA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export class RaspExecutionState {
2
+ static AllChecksFinished = new RaspExecutionState(0);
3
+ constructor(value) {
4
+ this.value = value;
5
+ }
6
+ static getValues() {
7
+ return [this.AllChecksFinished];
8
+ }
9
+ }
10
+ //# sourceMappingURL=raspExecutionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RaspExecutionState","AllChecksFinished","constructor","value","getValues"],"sourceRoot":"../../../src","sources":["models/raspExecutionState.ts"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,CAAC;EAG9B,OAAOC,iBAAiB,GAAG,IAAID,kBAAkB,CAAC,CAAC,CAAC;EAEpDE,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAyB;IACvC,OAAO,CAAC,IAAI,CAACH,iBAAiB,CAAC;EACjC;AACF","ignoreList":[]}
@@ -18,11 +18,14 @@ export class Threat {
18
18
  static Screenshot = new Threat(0);
19
19
  static ScreenRecording = new Threat(0);
20
20
  static MultiInstance = new Threat(0);
21
+ static TimeSpoofing = new Threat(0);
22
+ static LocationSpoofing = new Threat(0);
23
+ static UnsecureWifi = new Threat(0);
21
24
  constructor(value) {
22
25
  this.value = value;
23
26
  }
24
27
  static getValues() {
25
- return Platform.OS === 'android' ? [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.SystemVPN, this.DeviceBinding, this.UnofficialStore, this.ObfuscationIssues, this.DevMode, this.Malware, this.ADBEnabled, this.Screenshot, this.ScreenRecording, this.MultiInstance] : [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.SystemVPN, this.DeviceBinding, this.DeviceID, this.UnofficialStore, this.Screenshot, this.ScreenRecording];
28
+ return Platform.OS === 'android' ? [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.SystemVPN, this.DeviceBinding, this.UnofficialStore, this.ObfuscationIssues, this.DevMode, this.Malware, this.ADBEnabled, this.Screenshot, this.ScreenRecording, this.MultiInstance, this.TimeSpoofing, this.LocationSpoofing, this.UnsecureWifi] : [this.AppIntegrity, this.PrivilegedAccess, this.Debug, this.Hooks, this.Passcode, this.Simulator, this.SecureHardwareNotAvailable, this.SystemVPN, this.DeviceBinding, this.DeviceID, this.UnofficialStore, this.Screenshot, this.ScreenRecording];
26
29
  }
27
30
  }
28
31
  //# sourceMappingURL=threat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","Threat","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","SystemVPN","DeviceBinding","DeviceID","UnofficialStore","ObfuscationIssues","DevMode","Malware","ADBEnabled","Screenshot","ScreenRecording","MultiInstance","TimeSpoofing","LocationSpoofing","UnsecureWifi","constructor","value","getValues","OS"],"sourceRoot":"../../../src","sources":["models/threat.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,MAAM,CAAC;EAGlB,OAAOC,YAAY,GAAG,IAAID,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOE,gBAAgB,GAAG,IAAIF,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOG,KAAK,GAAG,IAAIH,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOI,KAAK,GAAG,IAAIJ,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOK,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOM,SAAS,GAAG,IAAIN,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOO,0BAA0B,GAAG,IAAIP,MAAM,CAAC,CAAC,CAAC;EACjD,OAAOQ,SAAS,GAAG,IAAIR,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOS,aAAa,GAAG,IAAIT,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOU,QAAQ,GAAG,IAAIV,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOW,eAAe,GAAG,IAAIX,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOY,iBAAiB,GAAG,IAAIZ,MAAM,CAAC,CAAC,CAAC;EACxC,OAAOa,OAAO,GAAG,IAAIb,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOc,OAAO,GAAG,IAAId,MAAM,CAAC,CAAC,CAAC;EAC9B,OAAOe,UAAU,GAAG,IAAIf,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOgB,UAAU,GAAG,IAAIhB,MAAM,CAAC,CAAC,CAAC;EACjC,OAAOiB,eAAe,GAAG,IAAIjB,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOkB,aAAa,GAAG,IAAIlB,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOmB,YAAY,GAAG,IAAInB,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOoB,gBAAgB,GAAG,IAAIpB,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOqB,YAAY,GAAG,IAAIrB,MAAM,CAAC,CAAC,CAAC;EAEnCsB,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAa;IAC3B,OAAOzB,QAAQ,CAAC0B,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACxB,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACE,eAAe,EACpB,IAAI,CAACC,iBAAiB,EACtB,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,YAAY,CAClB,GACD,CACE,IAAI,CAACpB,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,eAAe,EACpB,IAAI,CAACK,UAAU,EACf,IAAI,CAACC,eAAe,CACrB;EACP;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { Buffer } from 'buffer';
2
+ export const parseMalwareData = async data => {
3
+ return new Promise((resolve, reject) => {
4
+ try {
5
+ resolve(data.map(entry => toSuspiciousAppInfo(entry)));
6
+ } catch (error) {
7
+ reject(`Error while parsing app data: ${error}`);
8
+ }
9
+ });
10
+ };
11
+ export const toSuspiciousAppInfo = base64Value => {
12
+ const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
13
+ const packageInfo = data.packageInfo;
14
+ return {
15
+ packageInfo,
16
+ reason: data.reason,
17
+ permissions: data.permissions
18
+ };
19
+ };
20
+ //# sourceMappingURL=malware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","parseMalwareData","data","Promise","resolve","reject","map","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","from","toString","packageInfo","reason","permissions"],"sourceRoot":"../../../src","sources":["utils/malware.ts"],"mappings":"AACA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,gBAAgB,GAAG,MAC9BC,IAAc,IACmB;EACjC,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACFD,OAAO,CAACF,IAAI,CAACI,GAAG,CAAEC,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnBJ,MAAM,CAAE,iCAAgCI,KAAM,EAAC,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMD,mBAAmB,GAAIE,WAAmB,IAAwB;EAC7E,MAAMR,IAAI,GAAGS,IAAI,CAACC,KAAK,CAACZ,MAAM,CAACa,IAAI,CAACH,WAAW,EAAE,QAAQ,CAAC,CAACI,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGb,IAAI,CAACa,WAA0B;EACnD,OAAO;IACLA,WAAW;IACXC,MAAM,EAAEd,IAAI,CAACc,MAAM;IACnBC,WAAW,EAAEf,IAAI,CAACe;EACpB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { RaspExecutionState } from '../models/raspExecutionState';
2
+ import { Threat } from '../models/threat';
3
+ export const getThreatCount = () => {
4
+ return Threat.getValues().length;
5
+ };
6
+ export const getRaspExecutionStateCount = () => {
7
+ return RaspExecutionState.getValues().length;
8
+ };
9
+ export const itemsHaveType = (data, desidedType) => {
10
+ return data.every(item => typeof item === desidedType);
11
+ };
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RaspExecutionState","Threat","getThreatCount","getValues","length","getRaspExecutionStateCount","itemsHaveType","data","desidedType","every","item"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,8BAA8B;AACjE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAc;EAC1C,OAAOD,MAAM,CAACE,SAAS,CAAC,CAAC,CAACC,MAAM;AAClC,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAAA,KAAc;EACtD,OAAOL,kBAAkB,CAACG,SAAS,CAAC,CAAC,CAACC,MAAM;AAC9C,CAAC;AAED,OAAO,MAAME,aAAa,GAAGA,CAACC,IAAW,EAAEC,WAAmB,KAAK;EACjE,OAAOD,IAAI,CAACE,KAAK,CAAEC,IAAI,IAAK,OAAOA,IAAI,KAAKF,WAAW,CAAC;AAC1D,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { RaspExecutionStateEventActions } from '../../types/types';
2
+ export declare const setRaspExecutionStateListener: (config: RaspExecutionStateEventActions) => Promise<void>;
3
+ export declare const removeRaspExecutionStateEventListener: () => void;
4
+ //# sourceMappingURL=raspExecutionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raspExecutionState.d.ts","sourceRoot":"","sources":["../../../../../src/api/listeners/raspExecutionState.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAU3B,eAAO,MAAM,6BAA6B,WAChC,8BAA8B,kBAmBvC,CAAC;AAEF,eAAO,MAAM,qCAAqC,QAAO,IAGxD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ThreatEventActions } from '../../types/types';
2
+ export declare const setThreatListeners: (config: ThreatEventActions) => Promise<void>;
3
+ export declare const removeThreatListener: () => void;
4
+ //# sourceMappingURL=threat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat.d.ts","sourceRoot":"","sources":["../../../../../src/api/listeners/threat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAUzE,eAAO,MAAM,kBAAkB,WAAkB,kBAAkB,kBAiFlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,IAGvC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { TalsecConfig } from '../../types/types';
2
+ export declare const talsecStart: (options: TalsecConfig) => Promise<string>;
3
+ export declare const addToWhitelist: (packageName: string) => Promise<boolean>;
4
+ export declare const blockScreenCapture: (enable: boolean) => Promise<string>;
5
+ export declare const isScreenCaptureBlocked: () => Promise<boolean>;
6
+ export declare const storeExternalId: (data: string) => Promise<string>;
7
+ export declare const getAppIcon: (packageName: string) => Promise<string>;
8
+ export declare const onInvalidCallback: () => void;
9
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../../src/api/methods/native.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,WAAW,YAAmB,YAAY,KAAG,QAAQ,MAAM,CAEvE,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAuB,MAAM,KAAG,QAAQ,OAAO,CAKzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,OAAO,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,QAAQ,OAAO,CAExD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,QAAQ,MAAM,CAE5D,CAAC;AAEF,eAAO,MAAM,UAAU,gBAAiB,MAAM,KAAG,QAAQ,MAAM,CAO9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,IAEpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ThreatEventActions, TalsecConfig, RaspExecutionStateEventActions } from '../../types/types';
2
+ export declare const useFreeRasp: (config: TalsecConfig, actions: ThreatEventActions, raspExecutionStateActions?: RaspExecutionStateEventActions) => void;
3
+ //# sourceMappingURL=reactNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactNative.d.ts","sourceRoot":"","sources":["../../../../../src/api/methods/reactNative.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,WAAW,WACd,YAAY,WACX,kBAAkB,8BACC,8BAA8B,SAwB3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const FreeraspReactNative: any;
2
+ //# sourceMappingURL=nativeModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeModules.d.ts","sourceRoot":"","sources":["../../../../src/api/nativeModules.ts"],"names":[],"mappings":"AAEA,eAAO,MAAQ,mBAAmB,KAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const getRaspExecutionStateIdentifiers: () => Promise<number[]>;
2
+ export declare const getRaspExecutionStateChannelData: () => Promise<[
3
+ string,
4
+ string
5
+ ]>;
6
+ export declare const prepareRaspExecutionStateMapping: () => Promise<void>;
7
+ //# sourceMappingURL=raspExecutionState.d.ts.map