Overview
The Root Detection SDK detects if an application runs on a rooted (Android) or jailbroken (iOS) device, based on residual traces of the rooting method.
To detect if a device is compromised, the Root Detection SDK uses a signature file that is part of the OneSpan Mobile Security Suite package. This signature file must be integrated into your project.
The Root Detection SDK can be used on a variety of devices and supports the following platforms:
Android devices:
- Minimum Android 6 (API level 23)
- Target Android 14 (API level 34)
iOS devices:
- iOS 13 or higher
- Swift 5.0 or higher
- Xcode 15 or higher
The Image Scanner SDK package includes the following:
- MSSRootDetection.xcframework for iOS
- RootDetectionSDK.aar for Android
Detected rooting and jailbreak methods
The Root Detection SDK detects different rooting or jailbreak methods that are used on Android and iOS, respectively.
Android
The Root Detection SDK detects the following Android rooting methods:
- Magisk (systemless root)
- SuperSU
- KingRoot
- TowelRoot
- Framaroot
- Root master (Root大师)
- 360 Root (360超级ROOT)
- Root Ghost (Root Genius)
- LineageOS
- OneClickRoot
- KingoRoot
- Root Dashi (Zhiqupk Root)
The Root Detection SDK can also handle the following Android Root cloaking tools:
- RootCloak 2
- RootCloak Plus
- Magisk
- suhide (SuperSU mod)
- Hide My Root Adfree
- Hide Rooting Premium
Limitation
If Magisk Hide was used to prevent root detection, the SDK is not able to detect that a device is rooted.
iOS
The Root Detection SDK detects the following iOS jailbreak methods:
- TaiG
- Pangu9
- PPJailbreak
- yalu102
- Saïgon
The Root Detection SDK can also handle the following iOS Jailbreak cloaking tools:
- xCon
- Officer
- tsProtector 8
- tsProtector 8+
- Snoop-it
Exposed APIs
Classes and methods that are exposed by the Root Detection SDK API have very simple names and consist of a single letter. This enhances security because it complicates reverse-engineering.
The APIs comprise two main methods:
For Android, the APIs are exposed by the P class of the com.vasco package. For iOS, the APIs are exposed by the P object.
For more information, see Integrate the Root Detection SDK.
Constants
The return codes listed in Return codes can be retrieved from the O object.