capacitor-freerasp 2.1.0 → 2.2.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/CHANGELOG.md +37 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/aheaditec/freerasp/Threat.kt +3 -1
- package/android/src/main/java/com/aheaditec/freerasp/ThreatHandler.kt +3 -0
- package/dist/esm/definitions.d.ts +2 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/plugin.cjs.js +6 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +6 -1
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeResources +60 -60
- package/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +7 -7
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +4 -4
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +143 -143
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +7 -7
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +4 -4
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +1 -1
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +143 -143
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +143 -143
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +21 -21
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.2.0] - 2025-07-16
|
|
9
|
+
|
|
10
|
+
- iOS SDK version: 6.12.1
|
|
11
|
+
- Android SDK version: 16.0.1
|
|
12
|
+
|
|
13
|
+
### Android
|
|
14
|
+
|
|
15
|
+
#### Added
|
|
16
|
+
|
|
17
|
+
- Added support for 16 KB memory page sizes
|
|
18
|
+
- Added `multiInstance` callback
|
|
19
|
+
- We are introducing a new capability, detecting whether the application is running in various multi instancing environments
|
|
20
|
+
|
|
21
|
+
#### Changed
|
|
22
|
+
|
|
23
|
+
- The ADB service running as a root is a signal for root detection
|
|
24
|
+
- Improved emulator detection
|
|
25
|
+
- Internal security improvements
|
|
26
|
+
|
|
27
|
+
#### Fixed
|
|
28
|
+
|
|
29
|
+
- Removed malware report duplicates
|
|
30
|
+
|
|
31
|
+
### iOS
|
|
32
|
+
|
|
33
|
+
#### Added
|
|
34
|
+
|
|
35
|
+
- Added palera1n jailbreak detection
|
|
36
|
+
|
|
37
|
+
#### Changed
|
|
38
|
+
|
|
39
|
+
- Improved Dopamine jailbreak detection
|
|
40
|
+
|
|
41
|
+
#### Fixed
|
|
42
|
+
|
|
43
|
+
- Resolved memory-related stability issues.
|
|
44
|
+
|
|
8
45
|
## [2.1.0] - 2025-05-15
|
|
9
46
|
|
|
10
47
|
- iOS SDK version: 6.11.0
|
package/android/build.gradle
CHANGED
|
@@ -76,5 +76,5 @@ dependencies {
|
|
|
76
76
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
77
77
|
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
|
|
78
78
|
|
|
79
|
-
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:
|
|
79
|
+
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:16.0.1'
|
|
80
80
|
}
|
|
@@ -27,6 +27,7 @@ internal sealed class Threat(val value: Int) {
|
|
|
27
27
|
object ADBEnabled : Threat((10000..999999999).random())
|
|
28
28
|
object Screenshot : Threat((10000..999999999).random())
|
|
29
29
|
object ScreenRecording : Threat((10000..999999999).random())
|
|
30
|
+
object MultiInstance : Threat((10000..999999999).random())
|
|
30
31
|
|
|
31
32
|
companion object {
|
|
32
33
|
internal fun getThreatValues(): JSONArray {
|
|
@@ -48,7 +49,8 @@ internal sealed class Threat(val value: Int) {
|
|
|
48
49
|
Malware.value,
|
|
49
50
|
ADBEnabled.value,
|
|
50
51
|
Screenshot.value,
|
|
51
|
-
ScreenRecording.value
|
|
52
|
+
ScreenRecording.value,
|
|
53
|
+
MultiInstance.value
|
|
52
54
|
))
|
|
53
55
|
)
|
|
54
56
|
}
|
|
@@ -87,6 +87,7 @@ export declare type NativeEventEmitterActions = {
|
|
|
87
87
|
adbEnabled?: () => any;
|
|
88
88
|
screenshot?: () => any;
|
|
89
89
|
screenRecording?: () => any;
|
|
90
|
+
multiInstance?: () => any;
|
|
90
91
|
};
|
|
91
92
|
export declare class Threat {
|
|
92
93
|
value: number;
|
|
@@ -108,6 +109,7 @@ export declare class Threat {
|
|
|
108
109
|
static ADBEnabled: Threat;
|
|
109
110
|
static Screenshot: Threat;
|
|
110
111
|
static ScreenRecording: Threat;
|
|
112
|
+
static MultiInstance: Threat;
|
|
111
113
|
constructor(value: number);
|
|
112
114
|
static getValues(): Threat[];
|
|
113
115
|
}
|
package/dist/esm/definitions.js
CHANGED
|
@@ -23,6 +23,7 @@ export class Threat {
|
|
|
23
23
|
this.ADBEnabled,
|
|
24
24
|
this.Screenshot,
|
|
25
25
|
this.ScreenRecording,
|
|
26
|
+
this.MultiInstance,
|
|
26
27
|
]
|
|
27
28
|
: [
|
|
28
29
|
this.AppIntegrity,
|
|
@@ -59,4 +60,5 @@ Threat.Malware = new Threat(0);
|
|
|
59
60
|
Threat.ADBEnabled = new Threat(0);
|
|
60
61
|
Threat.Screenshot = new Threat(0);
|
|
61
62
|
Threat.ScreenRecording = new Threat(0);
|
|
63
|
+
Threat.MultiInstance = new Threat(0);
|
|
62
64
|
//# sourceMappingURL=definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiF5C,MAAM,OAAO,MAAM;IAuBjB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS;YAC1C,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,aAAa;aACnB;YACH,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;aACrB,CAAC;IACR,CAAC;;AA7DM,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,uBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,iCAA0B,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,wBAAiB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC","sourcesContent":["import { Capacitor } from '@capacitor/core';\n\nexport interface FreeraspPlugin {\n addListener(listener: string, callback: (event: any) => void): any;\n talsecStart(options: {\n config: FreeraspConfig;\n }): Promise<{ started: boolean }>;\n onInvalidCallback(): void;\n getThreatIdentifiers(): Promise<{ ids: number[] }>;\n getThreatChannelData(): Promise<{ ids: [string, string, string] }>;\n addToWhitelist(options: {\n packageName: string;\n }): Promise<{ result: boolean }>;\n getAppIcon(options: { packageName: string }): Promise<{ result: string }>;\n blockScreenCapture(options: {\n enable: boolean;\n }): Promise<{ result: boolean }>;\n isScreenCaptureBlocked(): Promise<{ result: boolean }>;\n storeExternalId(options: { data: string }): Promise<{ result: boolean }>;\n}\n\nexport type FreeraspConfig = {\n androidConfig?: AndroidConfig;\n iosConfig?: IOSConfig;\n watcherMail: string;\n isProd?: boolean;\n};\n\nexport type AndroidConfig = {\n packageName: string;\n certificateHashes: string[];\n supportedAlternativeStores?: string[];\n malwareConfig?: MalwareConfig;\n};\n\nexport type IOSConfig = {\n appBundleId: string;\n appTeamId: string;\n};\n\nexport type MalwareConfig = {\n blacklistedHashes?: string[];\n blacklistedPackageNames?: string[];\n suspiciousPermissions?: string[][];\n whitelistedInstallationSources?: string[];\n};\n\nexport type SuspiciousAppInfo = {\n packageInfo: PackageInfo;\n reason: string;\n};\n\nexport type PackageInfo = {\n packageName: string;\n appName?: string;\n version?: string;\n appIcon?: string;\n installerStore?: string;\n};\n\nexport type NativeEventEmitterActions = {\n privilegedAccess?: () => any;\n debug?: () => any;\n simulator?: () => any;\n appIntegrity?: () => any;\n unofficialStore?: () => any;\n hooks?: () => any;\n deviceBinding?: () => any;\n deviceID?: () => any;\n passcode?: () => any;\n secureHardwareNotAvailable?: () => any;\n obfuscationIssues?: () => any;\n devMode?: () => any;\n systemVPN?: () => any;\n malware?: (suspiciousApps: SuspiciousAppInfo[]) => any;\n adbEnabled?: () => any;\n screenshot?: () => any;\n screenRecording?: () => any;\n multiInstance?: () => any;\n};\n\nexport class Threat {\n value: number;\n\n static AppIntegrity = new Threat(0);\n static PrivilegedAccess = new Threat(0);\n static Debug = new Threat(0);\n static Hooks = new Threat(0);\n static Passcode = new Threat(0);\n static Simulator = new Threat(0);\n static SecureHardwareNotAvailable = new Threat(0);\n static SystemVPN = new Threat(0);\n static DeviceBinding = new Threat(0);\n static DeviceID = new Threat(0);\n static UnofficialStore = new Threat(0);\n static Overlay = new Threat(0);\n static ObfuscationIssues = new Threat(0);\n static DevMode = new Threat(0);\n static Malware = new Threat(0);\n static ADBEnabled = new Threat(0);\n static Screenshot = new Threat(0);\n static ScreenRecording = new Threat(0);\n static MultiInstance = new Threat(0);\n\n constructor(value: number) {\n this.value = value;\n }\n\n static getValues(): Threat[] {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.Overlay,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n ];\n }\n}\n"]}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { FreeraspPlugin, FreeraspConfig, NativeEventEmitterActions } from './definitions';
|
|
2
2
|
declare const Freerasp: FreeraspPlugin;
|
|
3
|
-
declare const setThreatListeners: <T extends NativeEventEmitterActions>(callbacks: T & Record<Exclude<keyof T, "privilegedAccess" | "debug" | "simulator" | "appIntegrity" | "unofficialStore" | "hooks" | "deviceBinding" | "deviceID" | "passcode" | "secureHardwareNotAvailable" | "obfuscationIssues" | "devMode" | "systemVPN" | "malware" | "adbEnabled" | "screenshot" | "screenRecording">, []>) => Promise<void>;
|
|
3
|
+
declare const setThreatListeners: <T extends NativeEventEmitterActions>(callbacks: T & Record<Exclude<keyof T, "privilegedAccess" | "debug" | "simulator" | "appIntegrity" | "unofficialStore" | "hooks" | "deviceBinding" | "deviceID" | "passcode" | "secureHardwareNotAvailable" | "obfuscationIssues" | "devMode" | "systemVPN" | "malware" | "adbEnabled" | "screenshot" | "screenRecording" | "multiInstance">, []>) => Promise<void>;
|
|
4
4
|
declare const removeThreatListeners: () => void;
|
|
5
|
-
declare const startFreeRASP: <T extends NativeEventEmitterActions>(config: FreeraspConfig, reactions: T & Record<Exclude<keyof T, "privilegedAccess" | "debug" | "simulator" | "appIntegrity" | "unofficialStore" | "hooks" | "deviceBinding" | "deviceID" | "passcode" | "secureHardwareNotAvailable" | "obfuscationIssues" | "devMode" | "systemVPN" | "malware" | "adbEnabled" | "screenshot" | "screenRecording">, []>) => Promise<boolean>;
|
|
5
|
+
declare const startFreeRASP: <T extends NativeEventEmitterActions>(config: FreeraspConfig, reactions: T & Record<Exclude<keyof T, "privilegedAccess" | "debug" | "simulator" | "appIntegrity" | "unofficialStore" | "hooks" | "deviceBinding" | "deviceID" | "passcode" | "secureHardwareNotAvailable" | "obfuscationIssues" | "devMode" | "systemVPN" | "malware" | "adbEnabled" | "screenshot" | "screenRecording" | "multiInstance">, []>) => Promise<boolean>;
|
|
6
6
|
declare const addToWhitelist: (packageName: string) => Promise<boolean>;
|
|
7
7
|
declare const getAppIcon: (packageName: string) => Promise<string>;
|
|
8
8
|
declare const blockScreenCapture: (enable: boolean) => Promise<boolean>;
|
package/dist/esm/index.js
CHANGED
|
@@ -49,7 +49,7 @@ const setThreatListeners = async (callbacks) => {
|
|
|
49
49
|
const [channel, key, malwareKey] = await getThreatChannelData();
|
|
50
50
|
await prepareMapping();
|
|
51
51
|
await Freerasp.addListener(channel, async (event) => {
|
|
52
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
52
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
53
53
|
if (event[key] === undefined) {
|
|
54
54
|
onInvalidCallback();
|
|
55
55
|
}
|
|
@@ -105,6 +105,9 @@ const setThreatListeners = async (callbacks) => {
|
|
|
105
105
|
case Threat.ScreenRecording.value:
|
|
106
106
|
(_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);
|
|
107
107
|
break;
|
|
108
|
+
case Threat.MultiInstance.value:
|
|
109
|
+
(_t = callbacks.multiInstance) === null || _t === void 0 ? void 0 : _t.call(callbacks);
|
|
110
|
+
break;
|
|
108
111
|
default:
|
|
109
112
|
onInvalidCallback();
|
|
110
113
|
break;
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Capacitor, registerPlugin } from '@capacitor/core';\n\nimport type {\n FreeraspPlugin,\n FreeraspConfig,\n NativeEventEmitterActions,\n SuspiciousAppInfo,\n PackageInfo,\n} from './definitions';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\n\nconst activeListeners: any[] = [];\n\nconst Freerasp = registerPlugin<FreeraspPlugin>('Freerasp', {});\n\nconst onInvalidCallback = (): void => {\n Freerasp.onInvalidCallback();\n};\n\nconst getThreatIdentifiers = async (): Promise<number[]> => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nconst getThreatChannelData = async (): Promise<[string, string, string]> => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nconst prepareMapping = async (): Promise<void> => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (\n data: string[],\n): Promise<SuspiciousAppInfo[]> => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n } catch (error: any) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\n\nconst toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo as PackageInfo;\n return { packageInfo, reason: data.reason } as SuspiciousAppInfo;\n};\n\nconst setThreatListeners = async <T extends NativeEventEmitterActions>(\n callbacks: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>,\n): Promise<void> => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n\n await Freerasp.addListener(channel, async (event: any) => {\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n callbacks.privilegedAccess?.();\n break;\n case Threat.Debug.value:\n callbacks.debug?.();\n break;\n case Threat.Simulator.value:\n callbacks.simulator?.();\n break;\n case Threat.AppIntegrity.value:\n callbacks.appIntegrity?.();\n break;\n case Threat.UnofficialStore.value:\n callbacks.unofficialStore?.();\n break;\n case Threat.Hooks.value:\n callbacks.hooks?.();\n break;\n case Threat.DeviceBinding.value:\n callbacks.deviceBinding?.();\n break;\n case Threat.Passcode.value:\n callbacks.passcode?.();\n break;\n case Threat.SecureHardwareNotAvailable.value:\n callbacks.secureHardwareNotAvailable?.();\n break;\n case Threat.ObfuscationIssues.value:\n callbacks.obfuscationIssues?.();\n break;\n case Threat.DeviceID.value:\n callbacks.deviceID?.();\n break;\n case Threat.DevMode.value:\n callbacks.devMode?.();\n break;\n case Threat.SystemVPN.value:\n callbacks.systemVPN?.();\n break;\n case Threat.Malware.value:\n callbacks.malware?.(await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n callbacks.adbEnabled?.();\n break;\n case Threat.Screenshot.value:\n callbacks.screenshot?.();\n break;\n case Threat.ScreenRecording.value:\n callbacks.screenRecording?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\n\nconst removeThreatListeners = (): void => {\n activeListeners.forEach(listener => listener.remove());\n};\n\nconst startFreeRASP = async <T extends NativeEventEmitterActions>(\n config: FreeraspConfig,\n reactions: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>,\n): Promise<boolean> => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n } catch (e: any) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\n\nconst addToWhitelist = async (packageName: string): Promise<boolean> => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\n\nconst getAppIcon = async (packageName: string): Promise<string> => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject(\n 'App icon retrieval for Malware detection not available on iOS',\n );\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\n\nconst blockScreenCapture = async (enable: boolean): Promise<boolean> => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\n\nconst isScreenCaptureBlocked = async (): Promise<boolean> => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\n\nconst storeExternalId = async (data: string): Promise<boolean> => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\n\nexport * from './definitions';\nexport {\n Freerasp,\n startFreeRASP,\n setThreatListeners,\n removeThreatListeners,\n addToWhitelist,\n getAppIcon,\n blockScreenCapture,\n isScreenCaptureBlocked,\n storeExternalId,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Capacitor, registerPlugin } from '@capacitor/core';\n\nimport type {\n FreeraspPlugin,\n FreeraspConfig,\n NativeEventEmitterActions,\n SuspiciousAppInfo,\n PackageInfo,\n} from './definitions';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\n\nconst activeListeners: any[] = [];\n\nconst Freerasp = registerPlugin<FreeraspPlugin>('Freerasp', {});\n\nconst onInvalidCallback = (): void => {\n Freerasp.onInvalidCallback();\n};\n\nconst getThreatIdentifiers = async (): Promise<number[]> => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nconst getThreatChannelData = async (): Promise<[string, string, string]> => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nconst prepareMapping = async (): Promise<void> => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (\n data: string[],\n): Promise<SuspiciousAppInfo[]> => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n } catch (error: any) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\n\nconst toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo as PackageInfo;\n return { packageInfo, reason: data.reason } as SuspiciousAppInfo;\n};\n\nconst setThreatListeners = async <T extends NativeEventEmitterActions>(\n callbacks: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>,\n): Promise<void> => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n\n await Freerasp.addListener(channel, async (event: any) => {\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n callbacks.privilegedAccess?.();\n break;\n case Threat.Debug.value:\n callbacks.debug?.();\n break;\n case Threat.Simulator.value:\n callbacks.simulator?.();\n break;\n case Threat.AppIntegrity.value:\n callbacks.appIntegrity?.();\n break;\n case Threat.UnofficialStore.value:\n callbacks.unofficialStore?.();\n break;\n case Threat.Hooks.value:\n callbacks.hooks?.();\n break;\n case Threat.DeviceBinding.value:\n callbacks.deviceBinding?.();\n break;\n case Threat.Passcode.value:\n callbacks.passcode?.();\n break;\n case Threat.SecureHardwareNotAvailable.value:\n callbacks.secureHardwareNotAvailable?.();\n break;\n case Threat.ObfuscationIssues.value:\n callbacks.obfuscationIssues?.();\n break;\n case Threat.DeviceID.value:\n callbacks.deviceID?.();\n break;\n case Threat.DevMode.value:\n callbacks.devMode?.();\n break;\n case Threat.SystemVPN.value:\n callbacks.systemVPN?.();\n break;\n case Threat.Malware.value:\n callbacks.malware?.(await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n callbacks.adbEnabled?.();\n break;\n case Threat.Screenshot.value:\n callbacks.screenshot?.();\n break;\n case Threat.ScreenRecording.value:\n callbacks.screenRecording?.();\n break;\n case Threat.MultiInstance.value:\n callbacks.multiInstance?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\n\nconst removeThreatListeners = (): void => {\n activeListeners.forEach(listener => listener.remove());\n};\n\nconst startFreeRASP = async <T extends NativeEventEmitterActions>(\n config: FreeraspConfig,\n reactions: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>,\n): Promise<boolean> => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n } catch (e: any) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\n\nconst addToWhitelist = async (packageName: string): Promise<boolean> => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\n\nconst getAppIcon = async (packageName: string): Promise<string> => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject(\n 'App icon retrieval for Malware detection not available on iOS',\n );\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\n\nconst blockScreenCapture = async (enable: boolean): Promise<boolean> => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\n\nconst isScreenCaptureBlocked = async (): Promise<boolean> => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\n\nconst storeExternalId = async (data: string): Promise<boolean> => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\n\nexport * from './definitions';\nexport {\n Freerasp,\n startFreeRASP,\n setThreatListeners,\n removeThreatListeners,\n addToWhitelist,\n getAppIcon,\n blockScreenCapture,\n isScreenCaptureBlocked,\n storeExternalId,\n};\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -28,6 +28,7 @@ class Threat {
|
|
|
28
28
|
this.ADBEnabled,
|
|
29
29
|
this.Screenshot,
|
|
30
30
|
this.ScreenRecording,
|
|
31
|
+
this.MultiInstance,
|
|
31
32
|
]
|
|
32
33
|
: [
|
|
33
34
|
this.AppIntegrity,
|
|
@@ -64,6 +65,7 @@ Threat.Malware = new Threat(0);
|
|
|
64
65
|
Threat.ADBEnabled = new Threat(0);
|
|
65
66
|
Threat.Screenshot = new Threat(0);
|
|
66
67
|
Threat.ScreenRecording = new Threat(0);
|
|
68
|
+
Threat.MultiInstance = new Threat(0);
|
|
67
69
|
|
|
68
70
|
const getThreatCount = () => {
|
|
69
71
|
return Threat.getValues().length;
|
|
@@ -120,7 +122,7 @@ const setThreatListeners = async (callbacks) => {
|
|
|
120
122
|
const [channel, key, malwareKey] = await getThreatChannelData();
|
|
121
123
|
await prepareMapping();
|
|
122
124
|
await Freerasp.addListener(channel, async (event) => {
|
|
123
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
125
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
124
126
|
if (event[key] === undefined) {
|
|
125
127
|
onInvalidCallback();
|
|
126
128
|
}
|
|
@@ -176,6 +178,9 @@ const setThreatListeners = async (callbacks) => {
|
|
|
176
178
|
case Threat.ScreenRecording.value:
|
|
177
179
|
(_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);
|
|
178
180
|
break;
|
|
181
|
+
case Threat.MultiInstance.value:
|
|
182
|
+
(_t = callbacks.multiInstance) === null || _t === void 0 ? void 0 : _t.call(callbacks);
|
|
183
|
+
break;
|
|
179
184
|
default:
|
|
180
185
|
onInvalidCallback();
|
|
181
186
|
break;
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js"],"sourcesContent":["import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.Overlay,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.Overlay = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\n//# sourceMappingURL=definitions.js.map","import { Threat } from './definitions';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const itemsHaveType = (data, desiredType) => {\n return data.every(item => typeof item === desiredType);\n};\n//# sourceMappingURL=utils.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\nconst activeListeners = [];\nconst Freerasp = registerPlugin('Freerasp', {});\nconst onInvalidCallback = () => {\n Freerasp.onInvalidCallback();\n};\nconst getThreatIdentifiers = async () => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst prepareMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nconst toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return { packageInfo, reason: data.reason };\n};\nconst setThreatListeners = async (callbacks) => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n await Freerasp.addListener(channel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n (_a = callbacks.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(callbacks);\n break;\n case Threat.Debug.value:\n (_b = callbacks.debug) === null || _b === void 0 ? void 0 : _b.call(callbacks);\n break;\n case Threat.Simulator.value:\n (_c = callbacks.simulator) === null || _c === void 0 ? void 0 : _c.call(callbacks);\n break;\n case Threat.AppIntegrity.value:\n (_d = callbacks.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(callbacks);\n break;\n case Threat.UnofficialStore.value:\n (_e = callbacks.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(callbacks);\n break;\n case Threat.Hooks.value:\n (_f = callbacks.hooks) === null || _f === void 0 ? void 0 : _f.call(callbacks);\n break;\n case Threat.DeviceBinding.value:\n (_g = callbacks.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(callbacks);\n break;\n case Threat.Passcode.value:\n (_h = callbacks.passcode) === null || _h === void 0 ? void 0 : _h.call(callbacks);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = callbacks.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(callbacks);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = callbacks.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(callbacks);\n break;\n case Threat.DeviceID.value:\n (_l = callbacks.deviceID) === null || _l === void 0 ? void 0 : _l.call(callbacks);\n break;\n case Threat.DevMode.value:\n (_m = callbacks.devMode) === null || _m === void 0 ? void 0 : _m.call(callbacks);\n break;\n case Threat.SystemVPN.value:\n (_o = callbacks.systemVPN) === null || _o === void 0 ? void 0 : _o.call(callbacks);\n break;\n case Threat.Malware.value:\n (_p = callbacks.malware) === null || _p === void 0 ? void 0 : _p.call(callbacks, await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = callbacks.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(callbacks);\n break;\n case Threat.Screenshot.value:\n (_r = callbacks.screenshot) === null || _r === void 0 ? void 0 : _r.call(callbacks);\n break;\n case Threat.ScreenRecording.value:\n (_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\nconst removeThreatListeners = () => {\n activeListeners.forEach(listener => listener.remove());\n};\nconst startFreeRASP = async (config, reactions) => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n }\n catch (e) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\nconst addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\nconst getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection not available on iOS');\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\nconst blockScreenCapture = async (enable) => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\nconst isScreenCaptureBlocked = async () => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\nconst storeExternalId = async (data) => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\nexport * from './definitions';\nexport { Freerasp, startFreeRASP, setThreatListeners, removeThreatListeners, addToWhitelist, getAppIcon, blockScreenCapture, isScreenCaptureBlocked, storeExternalId, };\n//# sourceMappingURL=index.js.map"],"names":["Capacitor","registerPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js"],"sourcesContent":["import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.Overlay,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.Overlay = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\n//# sourceMappingURL=definitions.js.map","import { Threat } from './definitions';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const itemsHaveType = (data, desiredType) => {\n return data.every(item => typeof item === desiredType);\n};\n//# sourceMappingURL=utils.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\nconst activeListeners = [];\nconst Freerasp = registerPlugin('Freerasp', {});\nconst onInvalidCallback = () => {\n Freerasp.onInvalidCallback();\n};\nconst getThreatIdentifiers = async () => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst prepareMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nconst toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return { packageInfo, reason: data.reason };\n};\nconst setThreatListeners = async (callbacks) => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n await Freerasp.addListener(channel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n (_a = callbacks.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(callbacks);\n break;\n case Threat.Debug.value:\n (_b = callbacks.debug) === null || _b === void 0 ? void 0 : _b.call(callbacks);\n break;\n case Threat.Simulator.value:\n (_c = callbacks.simulator) === null || _c === void 0 ? void 0 : _c.call(callbacks);\n break;\n case Threat.AppIntegrity.value:\n (_d = callbacks.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(callbacks);\n break;\n case Threat.UnofficialStore.value:\n (_e = callbacks.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(callbacks);\n break;\n case Threat.Hooks.value:\n (_f = callbacks.hooks) === null || _f === void 0 ? void 0 : _f.call(callbacks);\n break;\n case Threat.DeviceBinding.value:\n (_g = callbacks.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(callbacks);\n break;\n case Threat.Passcode.value:\n (_h = callbacks.passcode) === null || _h === void 0 ? void 0 : _h.call(callbacks);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = callbacks.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(callbacks);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = callbacks.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(callbacks);\n break;\n case Threat.DeviceID.value:\n (_l = callbacks.deviceID) === null || _l === void 0 ? void 0 : _l.call(callbacks);\n break;\n case Threat.DevMode.value:\n (_m = callbacks.devMode) === null || _m === void 0 ? void 0 : _m.call(callbacks);\n break;\n case Threat.SystemVPN.value:\n (_o = callbacks.systemVPN) === null || _o === void 0 ? void 0 : _o.call(callbacks);\n break;\n case Threat.Malware.value:\n (_p = callbacks.malware) === null || _p === void 0 ? void 0 : _p.call(callbacks, await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = callbacks.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(callbacks);\n break;\n case Threat.Screenshot.value:\n (_r = callbacks.screenshot) === null || _r === void 0 ? void 0 : _r.call(callbacks);\n break;\n case Threat.ScreenRecording.value:\n (_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);\n break;\n case Threat.MultiInstance.value:\n (_t = callbacks.multiInstance) === null || _t === void 0 ? void 0 : _t.call(callbacks);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\nconst removeThreatListeners = () => {\n activeListeners.forEach(listener => listener.remove());\n};\nconst startFreeRASP = async (config, reactions) => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n }\n catch (e) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\nconst addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\nconst getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection not available on iOS');\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\nconst blockScreenCapture = async (enable) => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\nconst isScreenCaptureBlocked = async () => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\nconst storeExternalId = async (data) => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\nexport * from './definitions';\nexport { Freerasp, startFreeRASP, setThreatListeners, removeThreatListeners, addToWhitelist, getAppIcon, blockScreenCapture, isScreenCaptureBlocked, storeExternalId, };\n//# sourceMappingURL=index.js.map"],"names":["Capacitor","registerPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -25,6 +25,7 @@ var capacitorFreerasp = (function (exports, core) {
|
|
|
25
25
|
this.ADBEnabled,
|
|
26
26
|
this.Screenshot,
|
|
27
27
|
this.ScreenRecording,
|
|
28
|
+
this.MultiInstance,
|
|
28
29
|
]
|
|
29
30
|
: [
|
|
30
31
|
this.AppIntegrity,
|
|
@@ -61,6 +62,7 @@ var capacitorFreerasp = (function (exports, core) {
|
|
|
61
62
|
Threat.ADBEnabled = new Threat(0);
|
|
62
63
|
Threat.Screenshot = new Threat(0);
|
|
63
64
|
Threat.ScreenRecording = new Threat(0);
|
|
65
|
+
Threat.MultiInstance = new Threat(0);
|
|
64
66
|
|
|
65
67
|
const getThreatCount = () => {
|
|
66
68
|
return Threat.getValues().length;
|
|
@@ -117,7 +119,7 @@ var capacitorFreerasp = (function (exports, core) {
|
|
|
117
119
|
const [channel, key, malwareKey] = await getThreatChannelData();
|
|
118
120
|
await prepareMapping();
|
|
119
121
|
await Freerasp.addListener(channel, async (event) => {
|
|
120
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
122
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
121
123
|
if (event[key] === undefined) {
|
|
122
124
|
onInvalidCallback();
|
|
123
125
|
}
|
|
@@ -173,6 +175,9 @@ var capacitorFreerasp = (function (exports, core) {
|
|
|
173
175
|
case Threat.ScreenRecording.value:
|
|
174
176
|
(_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);
|
|
175
177
|
break;
|
|
178
|
+
case Threat.MultiInstance.value:
|
|
179
|
+
(_t = callbacks.multiInstance) === null || _t === void 0 ? void 0 : _t.call(callbacks);
|
|
180
|
+
break;
|
|
176
181
|
default:
|
|
177
182
|
onInvalidCallback();
|
|
178
183
|
break;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js"],"sourcesContent":["import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.Overlay,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.Overlay = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\n//# sourceMappingURL=definitions.js.map","import { Threat } from './definitions';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const itemsHaveType = (data, desiredType) => {\n return data.every(item => typeof item === desiredType);\n};\n//# sourceMappingURL=utils.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\nconst activeListeners = [];\nconst Freerasp = registerPlugin('Freerasp', {});\nconst onInvalidCallback = () => {\n Freerasp.onInvalidCallback();\n};\nconst getThreatIdentifiers = async () => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst prepareMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nconst toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return { packageInfo, reason: data.reason };\n};\nconst setThreatListeners = async (callbacks) => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n await Freerasp.addListener(channel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n (_a = callbacks.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(callbacks);\n break;\n case Threat.Debug.value:\n (_b = callbacks.debug) === null || _b === void 0 ? void 0 : _b.call(callbacks);\n break;\n case Threat.Simulator.value:\n (_c = callbacks.simulator) === null || _c === void 0 ? void 0 : _c.call(callbacks);\n break;\n case Threat.AppIntegrity.value:\n (_d = callbacks.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(callbacks);\n break;\n case Threat.UnofficialStore.value:\n (_e = callbacks.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(callbacks);\n break;\n case Threat.Hooks.value:\n (_f = callbacks.hooks) === null || _f === void 0 ? void 0 : _f.call(callbacks);\n break;\n case Threat.DeviceBinding.value:\n (_g = callbacks.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(callbacks);\n break;\n case Threat.Passcode.value:\n (_h = callbacks.passcode) === null || _h === void 0 ? void 0 : _h.call(callbacks);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = callbacks.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(callbacks);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = callbacks.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(callbacks);\n break;\n case Threat.DeviceID.value:\n (_l = callbacks.deviceID) === null || _l === void 0 ? void 0 : _l.call(callbacks);\n break;\n case Threat.DevMode.value:\n (_m = callbacks.devMode) === null || _m === void 0 ? void 0 : _m.call(callbacks);\n break;\n case Threat.SystemVPN.value:\n (_o = callbacks.systemVPN) === null || _o === void 0 ? void 0 : _o.call(callbacks);\n break;\n case Threat.Malware.value:\n (_p = callbacks.malware) === null || _p === void 0 ? void 0 : _p.call(callbacks, await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = callbacks.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(callbacks);\n break;\n case Threat.Screenshot.value:\n (_r = callbacks.screenshot) === null || _r === void 0 ? void 0 : _r.call(callbacks);\n break;\n case Threat.ScreenRecording.value:\n (_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\nconst removeThreatListeners = () => {\n activeListeners.forEach(listener => listener.remove());\n};\nconst startFreeRASP = async (config, reactions) => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n }\n catch (e) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\nconst addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\nconst getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection not available on iOS');\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\nconst blockScreenCapture = async (enable) => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\nconst isScreenCaptureBlocked = async () => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\nconst storeExternalId = async (data) => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\nexport * from './definitions';\nexport { Freerasp, startFreeRASP, setThreatListeners, removeThreatListeners, addToWhitelist, getAppIcon, blockScreenCapture, isScreenCaptureBlocked, storeExternalId, };\n//# sourceMappingURL=index.js.map"],"names":["Capacitor","registerPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/utils.js","esm/index.js"],"sourcesContent":["import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.Overlay,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.Overlay = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\n//# sourceMappingURL=definitions.js.map","import { Threat } from './definitions';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const itemsHaveType = (data, desiredType) => {\n return data.every(item => typeof item === desiredType);\n};\n//# sourceMappingURL=utils.js.map","import { Capacitor, registerPlugin } from '@capacitor/core';\nimport { Threat } from './definitions';\nimport { getThreatCount, itemsHaveType } from './utils';\nconst activeListeners = [];\nconst Freerasp = registerPlugin('Freerasp', {});\nconst onInvalidCallback = () => {\n Freerasp.onInvalidCallback();\n};\nconst getThreatIdentifiers = async () => {\n const { ids } = await Freerasp.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Freerasp.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nconst prepareMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nconst parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map(entry => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nconst toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return { packageInfo, reason: data.reason };\n};\nconst setThreatListeners = async (callbacks) => {\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareMapping();\n await Freerasp.addListener(channel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n if (event[key] === undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n (_a = callbacks.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(callbacks);\n break;\n case Threat.Debug.value:\n (_b = callbacks.debug) === null || _b === void 0 ? void 0 : _b.call(callbacks);\n break;\n case Threat.Simulator.value:\n (_c = callbacks.simulator) === null || _c === void 0 ? void 0 : _c.call(callbacks);\n break;\n case Threat.AppIntegrity.value:\n (_d = callbacks.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(callbacks);\n break;\n case Threat.UnofficialStore.value:\n (_e = callbacks.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(callbacks);\n break;\n case Threat.Hooks.value:\n (_f = callbacks.hooks) === null || _f === void 0 ? void 0 : _f.call(callbacks);\n break;\n case Threat.DeviceBinding.value:\n (_g = callbacks.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(callbacks);\n break;\n case Threat.Passcode.value:\n (_h = callbacks.passcode) === null || _h === void 0 ? void 0 : _h.call(callbacks);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = callbacks.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(callbacks);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = callbacks.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(callbacks);\n break;\n case Threat.DeviceID.value:\n (_l = callbacks.deviceID) === null || _l === void 0 ? void 0 : _l.call(callbacks);\n break;\n case Threat.DevMode.value:\n (_m = callbacks.devMode) === null || _m === void 0 ? void 0 : _m.call(callbacks);\n break;\n case Threat.SystemVPN.value:\n (_o = callbacks.systemVPN) === null || _o === void 0 ? void 0 : _o.call(callbacks);\n break;\n case Threat.Malware.value:\n (_p = callbacks.malware) === null || _p === void 0 ? void 0 : _p.call(callbacks, await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = callbacks.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(callbacks);\n break;\n case Threat.Screenshot.value:\n (_r = callbacks.screenshot) === null || _r === void 0 ? void 0 : _r.call(callbacks);\n break;\n case Threat.ScreenRecording.value:\n (_s = callbacks.screenRecording) === null || _s === void 0 ? void 0 : _s.call(callbacks);\n break;\n case Threat.MultiInstance.value:\n (_t = callbacks.multiInstance) === null || _t === void 0 ? void 0 : _t.call(callbacks);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n};\nconst removeThreatListeners = () => {\n activeListeners.forEach(listener => listener.remove());\n};\nconst startFreeRASP = async (config, reactions) => {\n await setThreatListeners(reactions);\n try {\n const { started } = await Freerasp.talsecStart({ config });\n return started;\n }\n catch (e) {\n console.error(`${e.code}: ${e.message}`);\n return Promise.reject(`${e.code}: ${e.message}`);\n }\n};\nconst addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection not available on iOS');\n }\n const { result } = await Freerasp.addToWhitelist({ packageName });\n return result;\n};\nconst getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection not available on iOS');\n }\n const { result } = await Freerasp.getAppIcon({ packageName });\n return result;\n};\nconst blockScreenCapture = async (enable) => {\n const { result } = await Freerasp.blockScreenCapture({ enable });\n return result;\n};\nconst isScreenCaptureBlocked = async () => {\n const { result } = await Freerasp.isScreenCaptureBlocked();\n return result;\n};\nconst storeExternalId = async (data) => {\n const { result } = await Freerasp.storeExternalId({ data });\n return result;\n};\nexport * from './definitions';\nexport { Freerasp, startFreeRASP, setThreatListeners, removeThreatListeners, addToWhitelist, getAppIcon, blockScreenCapture, isScreenCaptureBlocked, storeExternalId, };\n//# sourceMappingURL=index.js.map"],"names":["Capacitor","registerPlugin"],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|