插件
iOS 安全
@nativescript/ios-security
内容
简介
🔒 IOSSecuritySuite for NativeScript。
🌏 iOS 安全套件是一个高级且易于使用的平台安全和反篡改库。如果您正在开发 iOS 应用并希望根据 OWASP MASVS 标准(第 v8 章)来保护您的应用,那么此库可以为您节省大量时间。🚀 ISS 检测的内容
- 越狱(甚至包括具有全新指示器的 iOS 11+!🔥)
- 连接的调试器👨🏻🚀
- 如果应用在模拟器中运行👽
- 设备上运行的常用逆向工程工具🔭
安装
要安装插件,请在应用的根文件夹中运行以下命令
cli
npm install @nativescript/ios-security
先决条件
指定要查询的 URL
在越狱检测模块中,有一个检查使用 canOpenURL(_😃 方法,并且需要指定将要查询的 URL。
在 App_Resources/iOS/Info.plist
文件中按如下方式指定这些 URL
xml
<key>LSApplicationQueriesSchemes</key>
<array>
<string>cydia</string>
<string>undecimus</string>
<string>sileo</string>
<string>zbra</string>
<string>filza</string>
<string>activator</string>
</array>
使用 @nativescript/ios-security
以下部分介绍了如何使用 @nativescript/ios-security
。
检测越狱
要简单检查设备是否已越狱,请使用 amIJailbroken()
方法。
ts
const isJailBroken: boolean = IOSSecurity.amIJailbroken()
if (isJailBroken) {
console.log('This device is jailbroken')
} else {
console.log('This device is not jailbroken')
}
检测调试器连接
要检测是否有调试器连接到应用,请使用 amIDebugged()
方法。
ts
const amIDebugged: boolean = IOSSecurity.amIDebugged()
阻止调试器连接
要阻止调试器连接到应用,请调用 denyDebugger()
方法。
ts
IOSSecurity.denyDebugger()
模拟器检测
要检测应用是否在模拟器上运行,请调用 amIRunInEmulator()
方法。
ts
const runInEmulator: boolean = IOSSecurity.amIRunInEmulator()
检测逆向工程工具的使用
要检测应用是否使用了常见的逆向工程工具,请调用 amIReverseEngineered()
方法。
ts
const amIReverseEngineered: boolean = IOSSecurity.amIReverseEngineered()
系统代理检测
要检测用户是否使用了代理,请调用 amIProxied()
方法。
ts
const amIProxied: boolean = IOSSecurity.amIProxied()
运行时 Hook 检测
要检测应用代码中是否放置了 Hook,请调用 amIRuntimeHookedWithDyldWhiteListDetectionClassSelectorIsClassMethod()
方法。
ts
let amIRuntimeHooked: boolean = IOSSecurity.amIRuntimeHookedWithDyldWhiteListDetectionClassSelectorIsClassMethod(dyldWhiteList: NSArray<string> | string[], detectionClass: typeof NSObject, selector: string, isClassMethod: boolean)
应用篡改检测
要检测应用是否被篡改,请调用 amITampered()
方法。
ts
let amITampered: NSArray<any> = IOSSecurity.amITampered(checks: NSArray<any> | any[])
许可证
Apache 许可证 2.0 版